标签: desktop-application

如何制作便携式python桌面应用程序?

要求是使应用程序可移植,这意味着没有安装程序.我看了py2exe,如果我想在Windows下运行它,我恐怕需要运行install.

所以我的问题是,我可以制作一个没有任何安装的便携式python桌面应用程序(所有依赖项和库都打包),从USB/CD拖动会运行吗?

(这很关键,因为用户安装C++ Run Time库时很头疼......)

谢谢.

python desktop-application

14
推荐指数
1
解决办法
1万
查看次数

我可以确定我的单位初始化的顺序吗?

我正在寻找可能与单元初始化顺序相关的错误.有没有办法看到哪个initialization部分执行时?我需要知道订单.这是在调试期间,所以我拥有Delphi IDE的全部功能,在我的案例中是Delphi 2009.

我可以设置断点,但是当有很多单位时这是相当繁琐的.

你有什么建议吗?

windows delphi debugging desktop-application delphi-2009

13
推荐指数
2
解决办法
3408
查看次数

如何在winforms桌面应用程序中创建自动完成文本框

我有一个单词列表.该列表包含大约100-200个文本字符串(实际上是地铁站的名称).

我想制作一个自动完成的文本框.例如,用户按'N'字母,然后出现(结束)适当选项(仅一个选项).必须选择结尾.

怎么做?

PS1:我想,有一个文本框控件,其属性如下:

List<string> AppropriateOptions{/* ... */}
Run Code Online (Sandbox Code Playgroud)

PS2:对不起我的英语.如果你不明白 - >问我,我会尽力解释!

c# textbox desktop-application autocomplete winforms

13
推荐指数
3
解决办法
3万
查看次数

您如何登录桌面应用程序以提高稳定性?

我已经开始在我的Delphi应用程序中使用SmartInspect,因为我的用户遇到了我无法在我的机器上重现的错误/问题.当我对问题有一个总体概念时,我将在几个特定的​​地方监控应用程序,以确认哪些是有效的或哪些无效.

当bug没有明显的原因时,我感到迷茫.我不知道从哪里开始登录以缩小问题范围.是否有使用记录器的常用技术或最佳实践?

SmartInspect似乎非常强大,但我不知道要记录什么或如何组织我的日志,因此数据对于捕获错误是有意义和有用的.

注意:我正在使用SmartInspect,但我认为答案应该适用于任何日志包.

delphi logging desktop-application

13
推荐指数
1
解决办法
402
查看次数

如何将json字符串反序列化为c#dot中的对象列表

我正在使用以下JSON字符串

{
"transactions": 
[
   {
    "paymentcharge":"0.0",
    "amount":352,
    "id":13418,
    "shippingcharge":35,
    "shippingtype":2,
    "status":2,
    "paymenttype":1,
    "date":"2012-10-06 16:15:28.0"
   },   
   {
    "paymentcharge":"0.0",
    "amount":42455,
    "id":16305,
    "shippingcharge":0,
    "shippingtype":2,
    "status":2,
    "paymenttype":2,
    "date":"2012-11-30 09:29:29.0"
   },   
   {
    "paymentcharge":"1.0",
    "amount":42456,
    "id":16305,
    "shippingcharge":0,
    "shippingtype":2,
    "status":2,
    "paymenttype":2,
    "date":"2012-11-30 09:29:29.0"
   }
],
"count":3
}
Run Code Online (Sandbox Code Playgroud)

我有一个类结构如下解析和感受json数据

class clsSalesTran
{
    public double paymentcharge { get; set; }
    public double amount { get; set; }
    public long id { get; set; }
    public int shippingcharge { get; set; }
    public int shippingtype { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# json desktop-application

13
推荐指数
3
解决办法
5万
查看次数

使用跨平台支持的python调整显示分辨率

使用python函数调整显示分辨率.它应该是跨平台的,即支持windows,linux和mac(根据操作系统可以有多个案例)

我有代码,我认为在Linux上工作(Ubuntu)我正在寻找一个Windows和Mac的解决方案(应该支持32和64位机器)

def SetResolution(width, height):
    os.popen("xrandr -s "+str(width)+'x'+str(height))
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我如何获得windows和mac可能的显示分辨率,我也会感激不尽

我在linux上的功能是这样的:

def GetResolutions():
    screen = os.popen("xrandr").readlines()
    possibleResolutions = []
    for a in screen:
        data = a.split()
        if len(data)<4:
            width, height = data[0].split('x')
            fps = re.sub("[^0-9.]", "", data[1])
            possibleResolutions.append({'width':int(width),'height':int(height),'fps':float(fps)})
            if '*' in data[1]:
                currentResolution = {'width':int(width),'height':int(height),'fps':float(fps)}
    return possibleResolutions, currentResolution
Run Code Online (Sandbox Code Playgroud)

python windows cross-platform desktop-application screen-resolution

13
推荐指数
2
解决办法
1万
查看次数

从C#桌面应用程序到受Siteminder保护的服务器的HTTP请求

我开发了一个C#桌面应用程序,它向客户的服务器(通常是Documentum/SharePoint/Alfresco/NemakiWare/etc基于HTTPS的服务器)发出HTTPS请求.

一些客户要求我们支持受CA SSO(Siteminder的新名称)保护的服务器.

问题:如何允许我的应用程序使用受CA SSO保护的服务器发送HTTPS请求(并接收响应),我需要做些什么?

  • 我已经为我们的C#桌面应用程序开发了NTLM-SSO支持,它运行良好,但我不确定如何继续进行CA SSO.
  • 在CA论坛上问了同样的问题,但是像大多数问题一样,它仍然没有答案.

c# desktop-application siteminder single-sign-on

13
推荐指数
1
解决办法
3257
查看次数

Cortana API是否可用于桌面应用程序?

我想使用新的Cortana引擎在Windows 10上开发Windows应用程序.

不幸的是,据我所知,它似乎仅在Windows Phone 8.1项目中可用(例如,我没有找到从不同类型的Visual Studio项目访问Windows.Media.SpeechRecognition命名空间的方法).

此外,我无法找到一个好的API文档,只有一些非常简单的例子.

编辑:

根据Peter Torr的回答,我写了一些代码.我已经能够识别出一些词,但是当它试图识别一些像"你好"这样简单的词时,引擎似乎很挣扎,而Cortana成功识别它.

难道我做错了什么?

public static class SpeechSynthetizerManager
{
    private static readonly SpeechSynthesizer synth = new SpeechSynthesizer();
    private static readonly SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine();

    public static event EventHandler<SpeechRecognizedEventArgs> SpeechRecognized
    {
        add { speechRecognitionEngine.SpeechRecognized += value; }
        remove { speechRecognitionEngine.SpeechRecognized -= value; }
    }

    public static event EventHandler<RecognizeCompletedEventArgs> RecognizeCompleted
    {
        add { speechRecognitionEngine.RecognizeCompleted += value; }
        remove { speechRecognitionEngine.RecognizeCompleted -= value; }
    }

    static SpeechSynthetizerManager()
    {
        synth.SelectVoiceByHints(VoiceGender.Female);

        speechRecognitionEngine.LoadGrammar(new DictationGrammar());

        speechRecognitionEngine.SetInputToDefaultAudioDevice();
    }

    public static …
Run Code Online (Sandbox Code Playgroud)

c# desktop-application cortana windows-10

13
推荐指数
2
解决办法
2万
查看次数

如何避免在Swing桌面应用程序中使用JPA延迟加载来阻止EDT

我正在努力在Swing桌面应用程序中实际使用JPA(Hibernate,EclipseLink等).

JPA似乎是一个好主意,但依赖于延迟加载以提高效率.延迟加载需要实体管理器在实体bean的生命周期中存在,并且无法控制用于加载的线程或在EDT开始使用其他东西时在后台进行加载的任何方式.访问恰好在EDT上延迟加载的属性将阻止应用程序在数据库访问时使用UI,甚至无法设置忙碌光标.如果应用程序在wifi/3G或慢速上网运行,可能会让它看起来像已经崩溃.

为了避免延迟加载停止EDT,我必须使用分离的实体.然后,如果我真的需要一个惰性属性的值,我所有的组件(甚至应该是那些应该不知道数据库的组件)必须准备好处理延迟加载异常或使用PersistenceUtil来测试属性状态.他们必须将实体分派回要合并的数据库工作线程,并在分离并再次返回之前加载属性.

为了提高效率,我的组件需要事先知道需要bean的哪些属性.

因此,您将看到所有这些闪亮的教程演示如何使用JPA在NetBeans平台,Eclipse RCP,Swing App Framework等上创建一个简单的CRUD应用程序,但实际上这些方法违反了基本的Swing实践(不要阻止) EDT)并且在现实世界中完全不可行.

(更多细节请写在这里:http://soapyfrogs.blogspot.com/2010/07/jpa-and-hibernateeclipselinkopenjpaetc.html)

有一些相关的问题有一些有用的响应,但它们都没有真正涵盖edt阻塞/延迟加载/实体管理器生命周期管理问题.

远程病例中的Lazy/Eager加载策略(JPA)

别人怎么解决这个问题?我是否试图在桌面应用程序中使用JPA来吠叫错误的树?或者我有没有明显的解决方案?在使用JPA进行透明数据库访问时,您是如何避免阻止EDT并保持应用程序响应的?

java swing jpa desktop-application lazy-loading

12
推荐指数
2
解决办法
1766
查看次数

处理缓慢的 Electron 启动

语境

我花了几个小时玩 Electron,我观察到在屏幕上绘制一个简单的 html 文件总是需要超过 2.5 秒。时间线大致如下:

  • 60 ms:appready事件被触发;我们创建一个窗口使用new BrowserWindow()
  • 170 ms:屏幕上出现一个空白窗口
  • 2800 ms:窗口显示指定的 HTML

我已经使用我的代码建立了一个存储库,该代码源自 Electron 的快速入门文档。

关于我的机器,我在 2016 年的 ThinkPad T460 上运行 Windows 10,带有 SSD 和足够的内存。

问题

发送一个在启动时显示空白窗口的应用程序对我来说是行不通的。我假设大多数开发 Electron 应用程序的人都有类似的想法。因此我的第一个问题是:我做错了什么吗?或者这是一个简单的 Electron 应用程序的预期加载时间?

假设这是正常行为,处理此问题的常用方法是什么?想到了一些想法:

  1. 要求 Electron 显示启动画面:除非有特定的内置功能,否则这似乎是不行的,因为启动画面本身只会在 2.5 秒后显示。
  2. 隐藏应用程序的窗口,直到它被渲染(使用ready-to-show事件),所以不会显示空白窗口。这并不理想,因为这意味着用户不会得到任何关于应用程序实际加载的反馈。
  3. 创建一个包装应用程序(使用本机代码),显示启动画面,启动电子并在显示电子窗口后隐藏自身。有点违背了使用 Electron 的初衷,因为您最终会编写本机代码并意外增加复杂性。
  4. 按照docs 的建议,将窗口的背景颜色设置为类似于您的应用程序的颜色。这看起来不太好。

鉴于这一定是一个普遍的问题,我希望社区已经找到了标准的解决方案。如果有人能指出我正确的方向,我会很高兴。

javascript performance desktop-application node.js electron

12
推荐指数
1
解决办法
642
查看次数