我刚刚完成了一个应该(希望)播放GUI 俄罗斯方块程序的程序.我已经清理了所有的语法错误,但现在当我双击,或者经过命令提示符下运行DOS窗口弹出不到一秒钟,而没有运行的程序消失的程序.
这是怎么回事?
下面是codepad.org上代码的链接
我正在尝试研究wxPython和sizer,并将以下示例放在一起:
import wx
class MyTestFrame(wx.Frame):
def __init__(self, parent, title):
super(MyTestFrame, self).__init__(parent, title=title,
size=(250, 150))
# the master panel of the frame - "Add a panel so it looks correct on all platforms"
self.panel = wx.Panel(self, wx.ID_ANY)
# self.panel.SetBackgroundColour(wx.Colour(124, 224, 124)) # to confirm the square is the panel
# want these buttons absolutely positioned
btn_A = wx.Button(self, id=1, label='A', pos=(10, 10), size=(30, 30))
btn_A.SetBackgroundColour(wx.Colour(224, 124, 124))
btn_B = wx.Button(self, id=2, label='B', pos=(45, 10), size=(30, 30))
btn_C = wx.Button(self, id=3, label='C', …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个数字时钟.其中一个问题是显示器会"闪烁".换句话说,wx.StaticText小部件(在这种情况下为self.ST)将在非常短的时间内变为空白.我相信原因可能会发现它是self.ST如何更新的根源(即SetLabel()).有没有办法提供更平滑的过渡,以阻止闪烁?
这是self.ST更新的功能:
def tick (self):
''' Continually updates the time. '''
TimeStr = '%I:%M %S %p'
DateStr = '%A, %B %d, %Y'
Time = time.strftime(TimeStr)
Date = time.strftime(DateStr)
self.TimeDate = Time + '\t\t' + Date
self.ST.SetLabel(Time)
wx.CallLater(1000, self.tick)
Run Code Online (Sandbox Code Playgroud) 如何创建一个位于所有其他窗口之上的框架?我也不希望将框架创建为顶部窗口,我希望用户有一个可以点击的按钮,这样框架就会处于顶部模式,如果再次点击它,那么它就变成了正常的框架!
我试过用
frame= wx.Frame.__init__(self, None, -1, 'Hello',wx.DefaultPosition,(400,500),style= wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.MINIMIZE_BOX)
self.SetTopWindow(self.frame)
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,说self.SetTopWindow不存在.
谢谢
我相信这对你们来说很容易,但我很难找到解决方案......
我有一个框架,由一堆导入的文件构成,以构建一个笔记本...类似于:
class myFrame(wx.Frame):
"""
Frame that holds all other widgets
"""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, wx.ID_ANY, "My Frame", size=(520,635))
panel = wx.Panel(self)
notebook = myFrameNotebook(panel)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
panel.SetSizer(sizer)
self.CreateStatusBar(style=0)
self.SetStatusText("Welcome to My Frame...")
self.Layout()
self.Show()
self.Centre()
Run Code Online (Sandbox Code Playgroud)
我想,从笔记本的各个页面内更改整个框架的状态文本...如果以上称为myFile,是否有办法SetStatusText从单独的笔记本页面(存储在单独的文件中) ?)
我想做的是,当你从笔记本页面移动到笔记本页面时,状态栏会反映你当前在应用程序中的位置......?
非常感谢,
周(对wxPython来说还是新手)
我想通过使用两点坐标或一个点和大小从wxImage中提取子图像.
我认为Resize()应该这样做,但看起来它没有给出预期的结果.
例如,调整大小(大小(10,10),点(0,0))将给出正确的结果左上角10x10子图像.
现在,如果我想得到别的东西,我有点迷失在二维空间;)
我有一个颜色条和一个图形.我想知道你是否可以在颜色栏上使用onclick方法,然后在图表上执行某些操作.所以点击colorer的特定颜色部分然后发生了一些事情,我知道如何做我想要发生的那一点.我只是想知道如何设置颜色栏以允许点击
是否可以选中/取消选中wxPython中的复选框?例如:
my_checkbox = wx.CheckBox(my_sizer, wx.ID_ANY, _("My Check Box"))
self.bind(EVT_BUTTON, my_button_func, my_button)
def my_button_func(self, event):
mycheckbox.Check()
Run Code Online (Sandbox Code Playgroud)
或者类似的东西,我可以随意检查/取消选中该框.
如果我做:
self.a= wx.Button(self, -1, "Hi&Hello")
Run Code Online (Sandbox Code Playgroud)
我得到了一个名为的按钮:HiHello
它忽略了&符号.我该如何解决?