用wxpython 编写一个登录界面
时间: 2023-11-23 15:46:57 浏览: 24
好的,以下是使用wxPython编写一个基本的登录界面的示例代码:
```python
import wx
class LoginFrame(wx.Frame):
def __init__(self):
super().__init__(None, wx.ID_ANY, '登录界面', size=(300, 200))
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
# 用户名输入框
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
user_label = wx.StaticText(panel, wx.ID_ANY, '用户名:')
hbox1.Add(user_label, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 10)
self.user_text = wx.TextCtrl(panel, wx.ID_ANY)
hbox1.Add(self.user_text, 1, wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, 10)
vbox.Add(hbox1, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10)
# 密码输入框
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
pw_label = wx.StaticText(panel, wx.ID_ANY, '密码:')
hbox2.Add(pw_label, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 10)
self.pw_text = wx.TextCtrl(panel, wx.ID_ANY, style=wx.TE_PASSWORD)
hbox2.Add(self.pw_text, 1, wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, 10)
vbox.Add(hbox2, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10)
# 登录按钮
hbox3 = wx.BoxSizer(wx.HORIZONTAL)
self.login_button = wx.Button(panel, wx.ID_ANY, '登录')
hbox3.Add(self.login_button, 1, wx.ALIGN_CENTER | wx.ALL, 10)
self.Bind(wx.EVT_BUTTON, self.OnLogin, self.login_button)
vbox.Add(hbox3, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10)
panel.SetSizer(vbox)
def OnLogin(self, event):
username = self.user_text.GetValue()
password = self.pw_text.GetValue()
# TODO: check username and password
wx.MessageBox('登录成功', '提示')
self.Hide()
if __name__ == '__main__':
app = wx.App()
frame = LoginFrame()
frame.Show()
app.MainLoop()
```
这个示例代码使用了wxPython中的布局管理器BoxSizer来控制登录框中的控件位置和排版,通过绑定登录按钮的事件,可以在点击按钮时获取输入框中的用户名和密码,并进行一些验证操作,最后弹窗提示登录成功。你可以根据这个示例代码,进一步自定义你自己的登录界面。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)