PyQt5 + PyCharm 笔记2 – Qt Designer使用
1、打开Qt Designer
Tools > External Tools > Qt Designer
2、新建窗口
选择 Main Window > Creat
3、界面布局
左边是控件、中间是窗口、右边是设置界面和控件的属性。通过拖拽控件完成界面布局。
4、使用 Qt Designer 设计的界面的两种方法
以登陆窗口为例,虽然很丑。
法一:通过 PyUIC 把 .ui 文件转为 .py 文件
1、在 Pycharm 中右击 ui_Login.ui 文件,External Tools > PyUIC,会生成一个同名的 ui_Login.py 文件。
2、新建一个使用界面的 Login.py 文件
Login.py
import sys
from PyQt5.QtWidgets import QMainWindow
from ui_Login import Ui_MainWindow
# 设计我们的窗口类
class Login(QMainWindow):
def __init__(self, parent = None):
super(Login, self).__init__(parent)
# 实例化一个我们设计的界面类 Ui_MainWindow 的对象
self.ui = Ui_MainWindow()
# 用这个界面装饰我们创建的窗口
self.ui.setupUi(self)
# 隐藏lable
self.ui.la_Print.hide()
# 通常信号与槽的连接放在__init__函数中
# 连接槽函数登录按钮
self.ui.pb_Ok.clicked.connect(self.slotLogin)
# 连接槽函数退出按钮
self.ui.pb_Cancle.clicked.connect(self.slotCancle)
def slotLogin(self):
if self.ui.le_Name.text() != "admin" or self.ui.le_Passwd.text() != "123456":
self.ui.la_Print.show()
self.ui.la_Print.setText("用户名或密码错误!")
else:
self.ui.la_Print.setText("正在登陆")
self.accept()
def slotCancle(self):
self.reject()
法二:通过 loadUi 直接使用 .ui 文件
Login2.py
import sys
from PyQt5.QtWidgets import QMainWindow
# 导入loadUi
from PyQt5.uic import loadUi
class Login(QMainWindow):
def __init__(self, *args):
super(Login, self).__init__(*args)
# 在窗口中加载界面
loadUi('ui_Login.ui', self)
self.la_Print.hide()
self.pb_Ok.clicked.connect(self.slotLogin)
self.pb_Cancle.clicked.connect(self.slotCancle)
def slotLogin(self):
if self.le_Name.text() != "admin" or self.le_Passwd.text() != "123456":
self.la_Print.show()
self.la_Print.setText("用户名或密码错误!")
else:
self.la_Print.show()
self.la_Print.setText("正确!")
self.accept()
def slotCancle(self):
self.reject()
5、显示界面
main.py
import sys
from PyQt5.QtWidgets import QApplication
import Login
# 实例化一个 App
app = QApplication(sys.argv)
# 实例化一个 窗口
login = Login.Login()
# 显示窗口
login.show()
# 进入主循环
sys.exit(app.exec())