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

2023-07-0711:11:56编程语言入门到精通Comments1,232 views字数 2942阅读模式

安装PyQt6

pip install pyqt6
pip install pyqt6-tools
PyQt6 Designer Qt设计器,带你一步一步设计界面
PyQt6 Designer Qt设计器,带你一步一步设计界面

可以对编辑的窗口进行预览。PyQt6 Designer Qt设计器,带你一步一步设计界面文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

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

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

安装好程序后,会安装上PyQt6相应的工具,如果安装在condabase环境中,designer.exe在相应的目录,一般都会加入到环境变量,所以不用考虑安装路径。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

在powershell中运行:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

designer.exe

就可以调出Qt的界面设计器,如果经历过VB,VC,对这个界面应该非常熟悉,直接拖动到窗口就实现界面的初步设计。比如:保存为windows.ui文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

运行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

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

把ui转成py文件。代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

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())

运行代码,得到:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

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

另一种加载的方式

在代码中直接调用UI的py文件,也实现相同的功能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html

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())
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/50450.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/50450.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定