PyQt6 Designer Qt设计器,带你一步一步设计界面

2023年 7月 10日 25.2k 0

安装PyQt6

pip install pyqt6
pip install pyqt6-tools

PyQt6 Designer Qt设计器,带你一步一步设计界面PyQt6 Designer Qt设计器,带你一步一步设计界面

可以对编辑的窗口进行预览。PyQt6 Designer Qt设计器,带你一步一步设计界面

用Qt Designer设计第一个应用程序

PyQt6 Designer Qt设计器,带你一步一步设计界面

安装好程序后,会安装上PyQt6相应的工具,如果安装在condabase环境中,designer.exe在相应的目录,一般都会加入到环境变量,所以不用考虑安装路径。

在powershell中运行:

designer.exe

就可以调出Qt的界面设计器,如果经历过VB,VC,对这个界面应该非常熟悉,直接拖动到窗口就实现界面的初步设计。比如:保存为windows.ui

运行

pyuic6.exe -x .windows.ui -o windows_ui.py

把ui转成py文件。代码如下:

from PyQt6 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(400, 300)
        self.pushButton = QtWidgets.QPushButton(parent=Form)
        self.pushButton.setGeometry(QtCore.QRect(20, 90, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
        self.pushButton_2.setGeometry(QtCore.QRect(110, 90, 75, 23))
        self.pushButton_2.setObjectName("pushButton_2")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "第一个Qt程序"))
        self.pushButton.setText(_translate("Form", "PushButton"))
        self.pushButton_2.setText(_translate("Form", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec())

运行代码,得到:

PyQt6 Designer Qt设计器,带你一步一步设计界面

另一种加载的方式

在代码中直接调用UI的py文件,也实现相同的功能。

from PyQt6.QtWidgets import QApplication, QWidget
from windows_ui import Ui_Form
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.ui = Ui_Form()
        self.ui.setupUi(self)

        self.setWindowTitle("我的UI")

app = QApplication(sys.argv)

window = Window()
window.show()

sys.exit(app.exec())

第三种直接调用ui文件

from PyQt6.QtWidgets import QApplication, QWidget
from PyQt6 import uic
import sys


class UI(QWidget):
    def __init__(self):
        super().__init__()
        uic.loadUi("windows.ui",self)

app = QApplication(sys.argv)

window = UI()
window.show()

sys.exit(app.exec())

QPushButton例子

PyQt6 Designer Qt设计器,带你一步一步设计界面

from PyQt6.QtWidgets import QApplication, QWidget,QPushButton,QMenu
from PyQt6 import uic
from PyQt6.QtGui import QIcon, QFont#,QSiz
from PyQt6.QtCore import QSize
import sys,PyQt6


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowIcon(PyQt6.QtGui.QIcon("logo.jpg"))
        self.resize(600, 400)
        btn = QPushButton("点击",self)
        #uic.loadUi("windows.ui",self)
        self.setWindowTitle("我的PushButton按钮")
        btn.setGeometry(100,100,130,130)
        btn.setFont(QFont("Times",14))
        btn.setIcon(QIcon("logo.jpg"))
        btn.setIconSize(QSize(36,36))

        menu = QMenu()
        menu.setFont(QFont("Times",16))
        menu.setStyleSheet('background-color:red')
        menu.addAction("复制")
        menu.addAction("剪切")
        menu.addAction("粘贴")

        btn.setMenu(menu)


app = QApplication(sys.argv)
window = Window()
window.show()

sys.exit(app.exec())

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论