用wxpython 编写一个登录界面
时间: 2023-11-23 09:46:57 浏览: 29
好的,您可以参考以下代码来编写登录界面:
```
import wx
class LoginFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, '登录', size=(300, 200))
panel = wx.Panel(self)
# 用户名和密码文本框
self.label_user = wx.StaticText(panel, label="用户名:")
self.text_user = wx.TextCtrl(panel)
self.label_pwd = wx.StaticText(panel, label="密 码:")
self.text_password = wx.TextCtrl(panel, style=wx.TE_PASSWORD)
# 登录和退出按钮
self.button_login = wx.Button(panel, label="登录")
self.Bind(wx.EVT_BUTTON, self.OnButtonLoginClick, self.button_login)
self.button_cancel = wx.Button(panel, label="退出")
self.Bind(wx.EVT_BUTTON, self.OnButtonCancelClick, self.button_cancel)
# 添加布局管理器
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
hbox3 = wx.BoxSizer(wx.HORIZONTAL)
hbox1.Add(self.label_user, proportion=0, flag=wx.LEFT, border=5)
hbox1.Add(self.text_user, proportion=1, flag=wx.EXPAND | wx.RIGHT | wx.TOP | wx.BOTTOM, border=5)
hbox2.Add(self.label_pwd, proportion=0, flag=wx.LEFT, border=5)
hbox2.Add(self.text_password, proportion=1, flag=wx.EXPAND | wx.RIGHT | wx.TOP | wx.BOTTOM, border=5)
hbox3.Add(self.button_login, proportion=0, flag=wx.CENTER | wx.TOP | wx.BOTTOM, border=5)
hbox3.Add(self.button_cancel, proportion=0, flag=wx.CENTER | wx.TOP | wx.BOTTOM, border=5)
vbox.Add(hbox1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10)
vbox.Add(hbox2, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10)
vbox.Add(hbox3, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=10)
panel.SetSizer(vbox)
def OnButtonLoginClick(self, event):
username = self.text_user.GetValue()
password = self.text_password.GetValue()
wx.MessageBox('您输入的用户名是:%s,密码是:%s' % (username, password), '登录结果')
def OnButtonCancelClick(self, event):
self.Close(True)
if __name__ == '__main__':
app = wx.App()
frame = LoginFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
```
这是一个使用 wxPython 编写的简单登录窗口,其中包含了用户名和密码文本框,以及登录和退出按钮。您可以通过调整布局管理器和控件属性来实现自己需要的窗口效果。
阅读全文