PyQt5 笔记2 -- Qt Designer使用

PyQt5 笔记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("正在登陆")

    def slotCancle(self):
        self.close()

法二:通过 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("正确!")

    def slotCancle(self):
        self.close()


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())
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值