用python写一份界面窗口的代码,先是登陆界面,登陆后显示另一个界面,该界面包括按钮,浏览图片,显示图片,保存图片,以及点击按钮会出现相应的操作
时间: 2024-01-02 07:05:23 浏览: 70
好的,我可以为你提供一份 Python 代码示例,实现登陆界面和主界面的功能。这里我将使用 PyQt5 来实现 GUI 界面,需要先安装 PyQt5 和 Pillow 库。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QHBoxLayout, QVBoxLayout, QFileDialog, QMessageBox
from PyQt5.QtGui import QPixmap
from PIL import Image
class LoginWidget(QWidget):
def __init__(self):
super().__init__()
self.username_label = QLabel('Username:', self)
self.username_text = QLineEdit(self)
self.password_label = QLabel('Password:', self)
self.password_text = QLineEdit(self)
self.password_text.setEchoMode(QLineEdit.Password)
self.login_button = QPushButton('Login', self)
self.login_button.clicked.connect(self.login)
layout = QVBoxLayout(self)
layout.addWidget(self.username_label)
layout.addWidget(self.username_text)
layout.addWidget(self.password_label)
layout.addWidget(self.password_text)
layout.addWidget(self.login_button)
self.setWindowTitle('Login')
self.show()
def login(self):
username = self.username_text.text()
password = self.password_text.text()
if username == 'admin' and password == '123456':
self.close()
main_widget = MainWidget()
else:
QMessageBox.warning(self, 'Error', 'Invalid username or password!')
class MainWidget(QWidget):
def __init__(self):
super().__init__()
self.browse_button = QPushButton('Browse', self)
self.browse_button.clicked.connect(self.browse_image)
self.save_button = QPushButton('Save', self)
self.save_button.clicked.connect(self.save_image)
self.image_label = QLabel(self)
self.image_label.setFixedSize(300, 300)
layout = QHBoxLayout(self)
layout.addWidget(self.browse_button)
layout.addWidget(self.save_button)
layout.addWidget(self.image_label)
self.setWindowTitle('Main')
self.show()
def browse_image(self):
file_path, _ = QFileDialog.getOpenFileName(self, 'Open Image', '.', 'Image Files (*.png *.jpg *.bmp)')
if file_path:
self.image = Image.open(file_path)
self.pixmap = QPixmap(file_path)
self.image_label.setPixmap(self.pixmap)
def save_image(self):
file_path, _ = QFileDialog.getSaveFileName(self, 'Save Image', '.', 'Image Files (*.png *.jpg *.bmp)')
if file_path:
self.image.save(file_path)
if __name__ == '__main__':
app = QApplication([])
login_widget = LoginWidget()
app.exec_()
```
这段代码实现了一个登陆窗口和主窗口,登陆窗口需要输入用户名和密码,如果输入正确则关闭登陆窗口打开主窗口,主窗口包括浏览图片、显示图片、保存图片等功能。具体实现方法如下:
1. LoginWidget 类实现了登陆窗口,包括用户名、密码输入框和登陆按钮。当用户点击登陆按钮时,程序会检查用户名和密码是否正确,如果正确则关闭登陆窗口打开主窗口;否则弹出错误提示。
2. MainWidget 类实现了主窗口,包括浏览图片、显示图片、保存图片等功能。当用户点击浏览按钮时,程序会打开文件对话框,让用户选择要打开的图片文件;当用户点击保存按钮时,程序会打开文件对话框,让用户选择要保存的图片文件。
3. browse_image() 函数实现了打开图片文件,并在主窗口中显示图片的功能。当用户选择了图片文件后,程序会使用 Pillow 库打开图片文件,并将其转换为 QPixmap 对象,然后在主窗口中显示出来。
4. save_image() 函数实现了保存图片文件的功能。当用户选择了保存文件的路径后,程序会使用 Pillow 库保存当前图片文件到指定路径。
希望这个示例代码能够帮助到你!
阅读全文