我有一个wx.Toolbar,我想让按钮更大.我搜索过,似乎无法找到有关如何执行此操作的具体文档.
我也想知道这将跨平台转换得多好; OSX上的按钮和图标会发生什么?
我正在通过子类创建一个自定义的wxPython对话框wx.Dialog.当我在使用它时按Enter键(并且在聚焦于其中一个表单元素时),它只是将焦点转移到下一个表单元素,而我希望它按下ok按钮.
我该如何解决这个问题?
我有两年的Java和Visual Studio企业应用程序编程经验,我是Python和wxPython的新手.所以我的问题是:wxPython可以为我提供足够丰富的GUI来创建相同的应用程序吗?我使用Python的原因在于它的多样性,简单性和应用程序的快速开发.谢谢!
我无法理解这一点:在sizer.Add中,设置比例以识别子窗口小部件的缩放比例,并且wx.EXPAND告诉孩子扩展以占用可用宽度.但是当没有将标志设置为wx.EXPAND并将比例设置为1时,子窗口小部件仍然会展开.
那么这两件事之间的关系/区别是什么?
谢谢
在从事网页设计和Android工作之后,我终于开始研究桌面软件了,直到我实际开始使用UI Design for Desktop时,我的开发周期出现了重大延迟.迄今为止的经历是一种痛苦.我决定使用Java来编写程序代码,因为那时我可以使用跨平台API来实现套接字和无线接口(我的程序非常依赖它,并且可以成功运行).
Web和Android UI设计:
HTML/CSS/Javascript; XML/Android API - >提供高度灵活性,自定义,快速UI开发周期.
Java桌面UI设计
AWT/Swing/Swing FX - >
从这里和这里的问题看,几乎没有可能的定制.当定制是可能的,其实现为看到高度增加了开发的时间在这里.它还增加了代码复杂性,在大多数情况下,解决方案是原生的,不适用于跨平台(至少Linux,Windows,Mac).原生的默认外观确实不是大多数UI设计师想要的.
拖放选项很好,可以缩短开发时间,例如.Window Builder.但是缺少添加ImageView等选项.并且,如果需要在第2点中提到的自定义,则必须对自动生成的代码进行大量修改,完全否定使用Drag-n-drop.
任何人都可以向我推荐一个非常好或接近良好的UI工具,或者说UI Engine(如果存在),它具有以下功能:
1. Quick development time. Drag-n-drop, HTML/CSS/XML like methods to design.
2. Everything is cross-platform, including customization solutions.
3. High degree of customization. Developer designs what looks good to him/her,
without increasing time-to-develop much.
4. Also cross-language. That is, has wrappers for all major programming languages,
like C++,Java,Python etc.
Run Code Online (Sandbox Code Playgroud)
在我看来,最好的方法或工具:
Qt框架.非常适合用户界面,但如果它有Java和其他语言的包装器,它真的很棒.它不会缩短开发时间,并且需要手动编码,但界面可以看起来非常 …
遇到一个我从未听说过的错误.我有一个任务管理器,你可以最小化到系统托盘,当你左键单击它将重新打开的图标,但当我这样做时,我得到一个Pydeadobjecterror.我认为这与我在一个wxpyton类中有两个继承的事实有关.然后我删除了继承,现在我有错误.这是错误:
Traceback (most recent call last):
File "C:\Python27\TrayIcon.py", line 25, in LeftClick
self.frame.Show()
File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 14619, in __getattr__
raise PyDeadObjectError(self.attrStr % self._name)
wx._core.PyDeadObjectError: The C++ part of the MainFrame object has been deleted, attribute access no longer allowed.
Run Code Online (Sandbox Code Playgroud)
所以任何方式我没有时间将我的代码分成多个文件,所以代码大约有400行,所以我只是把它粘贴在比粘贴它更容易的东西上抱歉,但是继续链接 http:// bpaste. net/show/liDNQVppFldurLcCfvK8 /显然这是错误的代码http://bpaste.net/show/etcWMPqFC8H6NQRG7uYV/
如果有人可以帮助我那会很棒
试图在我的Python代码上运行mki18n.py脚本,我收到一条警告:
>>> dlg = wx.MessageDialog(None, str (_("Attached device is \"%s\",\nschedule file header is for \"%s\"") % (rt_model, line)), _("Device mismatch"), wx.OK | wx.ICON_ERROR)
Run Code Online (Sandbox Code Playgroud)
然后给出这个:
warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments.
Please consider using a format string with named arguments,
and a mapping instead of a tuple for the arguments.
Run Code Online (Sandbox Code Playgroud)
mki18n.py脚本不喜欢两个连续的存在s%,但我无法解码警告信息所说的内容.否则(运行我的程序而不关心i18n)我没有错误,并且该对话框始终显示正常.
那条线有什么问题?(有什么可以改进的?)
编辑通过使用geni18n.py(及其来自i18nwxapp包的相关文件),我得到了没有错误的预期结果(即生成.pot文件进行翻译).我仍然不知道我的代码中是否存在geni18n容忍的问题,或者mki18n是否存在由我的特定代码行触发的问题(?).
我在官方网站上安装了Python wx.但是当我尝试导入wx时,我收到以下错误消息:
import wx Traceback (most recent call last):
File "<stdin>", line 1,
in <module> ImportError: No module named wx
Run Code Online (Sandbox Code Playgroud)
我试图运行32位和64位版本,但它仍然无法正常工作.我使用python的以下版本:
Python 2.7.6 |Anaconda 1.9.1 (x86_64)| (default, Jan 10 2014, 11:23:15)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Run Code Online (Sandbox Code Playgroud) 我的程序中有这段代码.其中OnDone函数是wxPython GUI中的事件.当我单击按钮DONE时,OnDone事件会启动,然后执行一些功能并启动线程self.tstart - 使用目标函数StartEnable.我希望使用self.tStart.join()加入这个线程.但是我收到如下错误:
Exception in thread StartEnablingThread:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "//wagnernt.wagnerspraytech.com/users$/kundemj/windows/my documents/Production GUI/Trial python Codes/GUI_withClass.py", line 638, in StartEnable
self.tStart.join()
File "C:\Python27\lib\threading.py", line 931, in join
raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread
Run Code Online (Sandbox Code Playgroud)
我之前没有遇到过这种类型的错误.你们其中任何一个人都可以告诉我这里缺少什么.
def OnDone(self, event):
self.WriteToController([0x04],'GuiMsgIn')
self.status_text.SetLabel('PRESSURE CALIBRATION DONE \n DUMP PRESSURE')
self.led1.SetBackgroundColour('GREY')
self.add_pressure.Disable()
self.tStart = threading.Thread(target=self.StartEnable, name = "StartEnablingThread", args=())
self.tStart.start()
def StartEnable(self):
while True: …Run Code Online (Sandbox Code Playgroud)