PySide2|PySide6安装使用及QT Designer UI设计

安装pyside6

>>> pip install pyside6

查看QT Designer程序
>>> pip show pyside6Location: c:\users\Administrator\...\python\python39\site-packages//若上述代码运行报错 >>> where python C:\...\Python\Python39\python.exepython文件夹内搜索 C:\...\Python\Python39\site-packages\PySide6\designer.exe


Ⅰ. Init
from PySide6.QtWidgets import *class Window: def __init__(self): self.win = QMainWindow()if __name__ == '__main__': app = QApplication([]) w = Window() w.win.show() app.exec_()

from PySide6.QtWidgets import *if __name__ == '__main__': app = QApplication([]) win = QMainWindow() win.show() app.exec_()

Ⅱ Example
from PySide6.QtWidgets import *class Window: def __init__(self): self.win = QMainWindow() self.win.resize(500, 400) self.win.move(700, 210) self.win.setWindowTitle("测试窗口")self.textEdit = QTextEdit(self.win) self.textEdit.move(50, 50) self.textEdit.resize(200, 300) self.textEdit.setPlaceholderText("请输入文本")self.button = QPushButton("button", self.win) self.button.move(300, 100) self.button.clicked.connect(self.btnClick)def btnClick(self): info = self.textEdit.toPlainText()# 获取文本信息 print(info) # print("button被点击")if __name__ == '__main__': app = QApplication([]) # win = QMainWindow() # win.show() w = Window() w.win.show() app.exec_()

PySide2|PySide6安装使用及QT Designer UI设计
文章图片


PySide2|PySide6安装使用及QT Designer UI设计
文章图片

【PySide2|PySide6安装使用及QT Designer UI设计】QT Designer
1.自动生成python代码
... from PySide6.QtCore import QFile from PySide6.QtUiTools import QUiLoader...if __name__ == "__main__": app = QApplication([]) win = QMainWindow() w = Ui_Form() w.setupUi(win) win.show() app.exec_()

view python code 报错:"Unable to lanch C" -> PySide6文件夹下复制uic.exe到新建的bin文件夹内C:\...\Python\Python39\site-packages\PySide6\bin\uic.exe

2.动态加载ui文件(首选)
from PySide6.QtWidgets import * from PySide6.QtCore import QFile from PySide6.QtUiTools import QUiLoaderclass Window: def __init__(self): super(Window, self).__init__() # 从ui文件中加载UI定义 qfile = QFile("demo1.ui") qfile.open(QFile.ReadOnly) qfile.close() # 从UI定义中动态创建一个相应的窗口对象 self.ui = QUiLoader().load(qfile)# 信号处理 self.ui.button.clicked.connect(self.btnClick) # self.button.clicked.connect(self.btnClick)def btnClick(self): info = self.ui.textEdit.toPlainText()# 获取文本信息 # info = self.textEdit.toPlainText() print(info)if __name__ == '__main__': app = QApplication([]) # app.setWindowIcon(QIcon("logo.png"))# 添加图标 w = Window() w.ui.show() # w.win.show() app.exec_()


最后:发布QT程序
>>> pip install pyinstaller>>> pyinstaller *.py --noconsole --hidden-import PySide6.QtXml [--icon="logo.ico"]并将ui文件移至dist文件夹内

QSS样式
Selector Example instruction
* 匹配所有界面元素
QPushButton 选择所有QPushButton类型(包括子类)
Class .QPushButton 选择所有QPushButton类型(不包括子类)
ID QPushButton #closeButton 选择所有对象名为closeButton的QPushButton
QDialog QPushButton 选择所有QDilog内部QPushButton类型
鼠标操作时元素显示样式
// 悬浮 QPushButton:hover {color: red; } // 点击 QPushButton:pressed {...} // 悬浮且处于勾选状态时 QCheckBox:hover:checked {...}


    推荐阅读