与Tkinter和wxPython一起玩了一下,我觉得Tkinter在源代码的外观方面要好得多.但是,它似乎没有那么多功能; 特别是它没有标签(如Firefox窗口顶部的标签).
关于这个主题的一点点Google搜索提供了一些建议.有一个类的食谱条目允许你使用标签,但它非常原始.在SourceForge上还有Python megawidgets,虽然这看起来很旧并且在安装过程中给了我错误.
有没有人有经验在Tkinter中制作标签式GUI?你用了什么?或者只是需要更强大的窗口组件的人必须使用wxPython?
我第一次尝试wxpython.我为python程序编写了一个GUI,当我运行它时,它会在GUI中产生一些错误,但GUI会很快消失,很快就会让我无法读取错误信息.
是否有任何日志可以检查错误消息?(我正在运行Mac OS X)或任何其他方式?
在此先感谢您的帮助.
更新:这是给我问题的代码......
#!/usr/bin/python
import wx
class MyApp (wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(390, 350))
menubar = wx.MenuBar()
help = wx.Menu()
help.Append(ID_ABOUT, '&About')
self.Bind(wx.EVT_MENU, self.OnAboutBox, id=wx.ID_ABOUT)
menubar.Append(help, '&Help')
self.SetMenuBar(menubar)
self.Centre()
self.Show(True)
panel = wx.Panel(self, -1)
font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT)
font.SetPointSize(9)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
st1 = wx.StaticText(panel, -1, 'Class Name')
st1.SetFont(font)
hbox1.Add(st1, 0, wx.RIGHT, 8)
tc = wx.TextCtrl(panel, -1)
hbox1.Add(tc, 1)
vbox.Add(hbox1, 0, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10) …Run Code Online (Sandbox Code Playgroud) 最近我升级到Snow Leopard,现在我无法运行使用wxPython构建的程序.我得到的错误是(来自Eclipse + PyDev):
import wx
File "/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT/System/Library/Frameworks
/Python.framework/Versions/2.6/Extras/lib/
python/wx-2.8-mac-unicode/wx/__init__.py", line 45, in <module>
File "/var/tmp/wxWidgets/wxWidgets-13~231/2.6/DSTROOT
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib
/python/wx-2.8-mac-unicode/wx/_core.py", line 4, in <module>
ImportError:/System/Library/Frameworks
/Python.framework/Versions/2.6/Extras/lib/python
/wx-2.8-mac-unicode/wx/_core_.so: no appropriate 64-bit architecture
(see "man python" for running in 32-bit mode)
Run Code Online (Sandbox Code Playgroud)
我真的不了解他们,如果你能帮助我这样做,我会很感激,如果你知道发生了什么,我该怎么办呢?也许这与Snow Leopard是64位的事实有关?
谢谢!!
我有一个很长的进程,我计划在一个线程中运行,否则它会冻结我的wxpython应用程序中的ui.
我正在使用
threading.Thread(target = myLongProcess).start()
Run Code Online (Sandbox Code Playgroud)
启动线程并且它可以工作,但我不知道如何暂停和恢复线程.我在python文档中查找了上述方法,但无法找到它们.
谁能建议我怎么做?
谢谢.
import wx
Traceback (most recent call last):
File "", line 1, in
import wx
File "C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\__init__.py", line 45, in
from wx._core import *
File "C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 4, in
import _core_
ImportError: DLL load failed: %1 is not a valid Win32 application
我已经尝试了几个wxpython版本的python2.6和python2.7,它们都是这样的.所有的版本都是win64以及我的操作系统,请大家好!
我想开始使用wxPython,但我发现它没有针对Python 3进行更新.我使用的是Python的最新版本,即3.3.
所以我开始在网上寻找并发现一些人说没有,但这些线程就像3岁.
所以我的问题是:还没有针对Python 3的wxPython更新吗?Python 3已经出现了几年了!应该有吧?
谢谢
wxpython ×10
python ×7
eclipse ×1
events ×1
gui-toolkit ×1
pydev ×1
pyqt ×1
python-3.x ×1
static-text ×1
tabs ×1
tkinter ×1