|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, "用户登录", size=(600, 400))
# 创建面板
panel = wx.Panel(self)
self.title = wx.StaticText(panel, label='请输入用户名和密码')
#添加容器,容器中控件按纵向排列
vsizer = wx.BoxSizer(wx.VERTICAL)
vsizer.Add(self.title, proportion=0, flag=wx.BUTTON|wx.TOP|wx.ALIGN_CENTER, border = 15)
panel.SetSizer(vsizer)
if __name__ == '__main__':
app = wx.App() # 初始化
frame = MyFrame(parent=None,id=-1) # 实例 MyFrame 类, 并传递参数
frame.Show() # 显示窗口
app.MainLoop() # 调用主循环方法
如上,出不来窗口
哪里出错了啊
wxPython创建窗口未显示的问题解决
你的代码中出现了一个小错误,导致窗口无法显示。在添加标题的时候,你使用了错误的标志位(wx.BUTTON),而应该使用wx.ALIGN_CENTER_VERTICAL。
以下是修改后的代码:
- import wx
- class MyFrame(wx.Frame):
- def __init__(self, parent, id):
- wx.Frame.__init__(self, parent, id, "用户登录", size=(600, 400))
-
- # 创建面板
- panel = wx.Panel(self)
-
- self.title = wx.StaticText(panel, label='请输入用户名和密码')
-
- # 添加容器,容器中控件按纵向排列
- vsizer = wx.BoxSizer(wx.VERTICAL)
- vsizer.Add(self.title, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.ALIGN_CENTER, border=15)
- panel.SetSizer(vsizer)
- if __name__ == '__main__':
- app = wx.App() # 初始化
- frame = MyFrame(parent=None, id=-1) # 实例 MyFrame 类,并传递参数
- frame.Show() # 显示窗口
- app.MainLoop() # 调用主循环方法
复制代码
在修改后的代码中,我将 wx.BUTTON更正为 wx.ALIGN_CENTER_VERTICAL,这样标题将在垂直方向上居中对齐。
希望这个修改能够解决你的问题!如果还有其他问题,请随时提问。
|
|