pycharm写一个窗口登录密码界面的代码,用库wx
时间: 2024-06-08 12:07:24 浏览: 9
下面是一个简单的 wxPython 窗口登录密码界面的代码示例:
```python
import wx
class LoginFrame(wx.Frame):
def __init__(self, parent, title):
super(LoginFrame, self).__init__(parent, title=title, size=(250, 200))
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
username_label = wx.StaticText(panel, label='Username')
self.username_input = wx.TextCtrl(panel)
hbox1.Add(username_label, wx.RIGHT, 8)
hbox1.Add(self.username_input, wx.EXPAND)
vbox.Add(hbox1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
password_label = wx.StaticText(panel, label='Password')
self.password_input = wx.TextCtrl(panel, style=wx.TE_PASSWORD)
hbox2.Add(password_label, wx.RIGHT, 8)
hbox2.Add(self.password_input, wx.EXPAND)
vbox.Add(hbox2, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 10)
hbox3 = wx.BoxSizer(wx.HORIZONTAL)
ok_button = wx.Button(panel, label='OK')
cancel_button = wx.Button(panel, label='Cancel')
hbox3.Add(ok_button)
hbox3.Add(cancel_button, flag=wx.LEFT, border=5)
vbox.Add(hbox3, flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, border=10)
panel.SetSizer(vbox)
# Bind buttons
ok_button.Bind(wx.EVT_BUTTON, self.on_login)
cancel_button.Bind(wx.EVT_BUTTON, self.on_cancel)
def on_login(self, event):
username = self.username_input.GetValue()
password = self.password_input.GetValue()
if username == 'admin' and password == 'password':
wx.MessageBox('Login Successful!', 'Success')
self.Close()
else:
wx.MessageBox('Incorrect Username or Password!', 'Error')
def on_cancel(self, event):
self.Close()
if __name__ == '__main__':
app = wx.App()
login_frame = LoginFrame(None, title='Login')
login_frame.Show()
app.MainLoop()
```
在这个示例中,我们创建了一个 `LoginFrame` 类来表示登录窗口。将 `wx.Frame` 作为父类并重写 `__init__` 方法来设置窗口的布局和相关控件。我们使用了 `wx.BoxSizer` 来创建布局并将控件添加到这些布局中。最后,我们绑定了“OK”和“Cancel”按钮的点击事件。在 `on_login` 方法中检查用户名和密码是否正确,并在 `wx.MessageBox` 中显示错误消息或成功消息。
要运行此代码,您需要首先安装 wxPython 库。运行以下命令来安装:
```
pip install wxPython
```
相关推荐
![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)
![](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)
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)