当前位置: 首页 > news >正文

PyQt5图形和特效(Qss的UI美化)

Qss的UI美化

QSS(QtStyleSheets)即Qt样式表,是用来自定义控件外观的一种机制。QSS
大量参考了css的内容,但QSS的功能比css要弱得多,体现为选择器少,可以
使用的QSS属性也少,并且并不是所有的属性都可以应用在PyQt的控件上。QSS
使页面美化跟代码层分开,利于维护。

QSS的语法规则

QSS的语法规则几乎与CSS相同。QSS样式由两部分组成,其中一部分是选择
器(Selector),指定哪些控件会受到影响:另一部分是声明(Declaration),指定哪
些属性应该在控件上进行设置。声明部分是一系列的“属性:值”对,使用分号(;)
分隔各个不同的属性值对,使用大括号({})将所有的声明包括在内。例如:

QPushButton{color:red}

表示设置QPushButton类及其子类的所有实例的前景色是红色。其中,QPushButton
表示选择器,指定所有的QPushButton类及其子类都会受到影响。注意,凡是继承
自QPushButton的子类都会受到影响,这是与css不同的地方,因为CSS应用的都
是一些标签,没有类的层次结构,更没有子类的概念。{color.red}则是规则的定义,
表示指定前景色是红色。

from PyQt5.QtWidgets import *
import sysclass WindowDemo(QWidget):def __init__(self):super().__init__()btn1=QPushButton(self)btn1.setText('按钮1')btn2=QPushButton(self)btn2.setText('按钮2')vbox=QVBoxLayout()vbox.addWidget(btn1)vbox.addWidget(btn2)self.setLayout(vbox)self.setWindowTitle("QSS样式")if __name__ == '__main__':app = QApplication(sys.argv)win = WindowDemo()qssStyle='''QPushButton{backgrund-color:red}'''win.setStyleSheet(qssStyle)win.show()sys.exit(app.exec_())

运行效果

image

QSS选择器类型

QSS选择器有如下几种类型。
(1)通配选择器:*,匹配所有的控件。
(2)类型选择器:QPushButton,匹配所有的QPushButton类及其子类的实例。
(3)属性选择器:QPushButto[name=“myBtn”],匹配所有的name属性是myBtn
的QPushButton实例。注意,该属性可以是自定义的,不一定非得是类本身具有的
属性。

from PyQt5.QtWidgets import *
import sysclass WindowDemo(QWidget):def __init__(self):super().__init__()btn1 = QPushButton(self)btn1.setText('按钮1')btn2 = QPushButton(self)btn2.setProperty('name', 'myBtn')btn2.setText('按钮2')vbox = QVBoxLayout()vbox.addWidget(btn1)vbox.addWidget(btn2)self.setLayout(vbox)self.setWindowTitle("QSS样式")if __name__ == "__main__":app = QApplication(sys.argv)win = WindowDemo()qssStyle = '''      			  			QPushButton[name="myBtn"] { background-color: red 				}'''win.setStyleSheet(qssStyle)win.show()sys.exit(app.exec_())

运行效果

image

(4)类选择器:.QPushButton,匹配所有的QPushButton实例,但是并不匹配其
子类。注意前而有一个点号,这是与css中的类选择器不一样的地方。
(5)ID选择器:#myButton,匹配所有的ID为myButton的控件,这里的ID实
际上就是objectName指定的值。
(6)后代选择器:QDialog QPushButton,匹配所有的QDialog容器中包含的
QPushButton,不管是直接的还是间接的。

(7)子选择器:QDialog>QPushButton,匹配所有的QDialog容器中包含的
QPushButton,其中要求QPushButton的直接父容器是QDialog。
另外,上面所有的选择器可以联合使用,并且支持一次设置多种选择器类型,
用逗号隔开。例如#frameCut,#frameInterrupt,#frameJoin,表示这些ID使用一个规则;
#mytable QPushButton,表示选择所有ID为mytable的容器中包含的QPushButton
控件。

QSS子控件

QSS子控件实际上也是一种选择器,其应用在一些复合控件上,典型的如
QComboBox,该控件的外观是,有一个矩形的外边框,右边有一个下拉箭头,点击
之后会弹出下拉列表。例如:

QComboBox::drop-down{image:url(dropdown.png)}

上面的样式指定所有QComboBox的下拉箭头的图片是自定义的,图片文件为
dropdown.pnge
::drop-down子控件选择器可以与上面提到的选择器联合使用。例如:

QComboBox#myQComboBox::drop-down{image:url(dropdown.png)}

表示为指定ID为myQComboBox的QComboBox控件的下拉箭头自定义图片。
需要注意的是,子控件选择器实际上是选择复合控件的一部分,也就是对复合控件
的一部分应用样式,例如为QComboBox的下拉箭头指定图片,而不是为QComboBox
本身指定图片。

from PyQt5.QtWidgets import *
import sysclass WindowDemo(QWidget):def __init__(self):super(WindowDemo,self).__init__()self.initUI()def initUI(self):combo=QComboBox(self)combo.setObjectName('myQComboBox')combo.addItem('Window')combo.addItem('Ubuntu')combo.addItem('Red Hat')combo.move(50,50)self.setGeometry(250,200,320,150)self.setWindowTitle('QComboBox样式')if __name__ == '__main__':app = QApplication(sys.argv)win=WindowDemo()qssStyle='''QComboBox#myQComboBox::drop-down{image:url(./images/drawdown.png)}'''win.setStyleSheet(qssStyle)win.show()sys.exit(app.exec_())

VeryCapture_20250617214023

QSS伪状态

QSS伪状态选择器是以冒号开头的一个选择表达式,例如:hover,表示当鼠标指
针经过时的状态。伪状态选择器限制了当控件处于某种状态时才可以使用QSS规则,
伪状态只能描述一个控件或者一个复合控件的子控件的状态,所以它只能放在选择
器的最后面。例如:

QComboBox:hover{background-color:red;}

表示当鼠标指针经过QComboBox时,其背景色指定为红色,该伪状态:hover
描述的是QComboBox的状态。除可以描述选择器所选择的控件外,伪状态还可以
描述子控件选择器所选择的复合控件的子控件的状态。例如:

QComboBox::drop-down:hover{background-color:red}

表示当鼠标指针经过QComboBox的下拉箭头时,该下拉箭头的背景色变成红色。
此外,伪状态还可以用一个感叹号来表示状态,例如:hover表示鼠标指针经过
的状态,而:!hover表示鼠标指针没有经过的状态。多种伪状态可以同时使用,例如:

QCheckBox:hover:checked{color:white}

表示当鼠标指针经过一个选中的QCheckBox时,设置其文字的前景色为白色。
QSS提供了很多伪状态,一些伪状态只能用在特定的控件上,具体有哪些伪状
态,在PyQt的帮助文档中有详细的列表。

QDarkStyIeSheet

按照qdarkstyle

pip install qdarkstyle -i https://pypi.tuna.tsinghua.edu.cn/simple/
import logging
import sys
from PyQt5 import QtWidgets,QtCore
from os.path import abspath,dirname
sys.path.insert(0,abspath(dirname(abspath(__file__))+'/..'))import qdarkstyle
import ui.example_pyqt5_ui as example_uidef main():'''Application entry point:return:'''logging.basicConfig(level=logging.DEBUG)#create the application and the main windowapp=QtWidgets.QApplication(sys.argv)window=QtWidgets.QMainWindow()#setup uiui=example_ui.Ui_MainWindow()ui.setupUi(window)ui.bt_delay_popup.addActions([ui.actionAction,ui.actionAction_C])ui.bt_instant_popup.addActions([ui.actionAction,ui.actionAction_C])ui.bt_menu_button_popup.addActions([ui.actionAction,ui.actionAction_C])item=QtWidgets.QTableWidgetItem("Test")item.setCheckState(QtCore.Qt.Checked)ui.tableWidget.setItem(0,0,item)window.setWindowTitle("QDarkStyle example")# tabify dock widgets to show bug #6window.tabifyDockWidget(ui.dockWidget1,ui.dockWidget2)#setup stylesheetapp.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())#auto quit after 2s when testing on travis-ciQtCore.QTimer.singleShot(2000, app.exec_)#runwindow.show()app.exec_()if __name__ == '__main__':main()
# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'example.ui'
#
# Created by: PyQt5 UI code generator 5.7
#
# WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(1068, 824)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.centralwidget)self.verticalLayout_5.setObjectName("verticalLayout_5")self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)self.tabWidget.setTabPosition(QtWidgets.QTabWidget.East)self.tabWidget.setTabsClosable(True)self.tabWidget.setObjectName("tabWidget")self.tab = QtWidgets.QWidget()self.tab.setObjectName("tab")self.gridLayout = QtWidgets.QGridLayout(self.tab)self.gridLayout.setContentsMargins(0, 0, 0, 0)self.gridLayout.setObjectName("gridLayout")self.groupBox = QtWidgets.QGroupBox(self.tab)self.groupBox.setObjectName("groupBox")self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox)self.verticalLayout_3.setObjectName("verticalLayout_3")self.toolBox = QtWidgets.QToolBox(self.groupBox)self.toolBox.setObjectName("toolBox")self.page = QtWidgets.QWidget()self.page.setGeometry(QtCore.QRect(0, 0, 98, 44))self.page.setObjectName("page")self.gridLayout_4 = QtWidgets.QGridLayout(self.page)self.gridLayout_4.setContentsMargins(0, 0, 0, 0)self.gridLayout_4.setObjectName("gridLayout_4")self.lineEdit = QtWidgets.QLineEdit(self.page)self.lineEdit.setObjectName("lineEdit")self.gridLayout_4.addWidget(self.lineEdit, 0, 0, 1, 1)self.toolBox.addItem(self.page, "")self.page_2 = QtWidgets.QWidget()self.page_2.setGeometry(QtCore.QRect(0, 0, 697, 210))self.page_2.setObjectName("page_2")self.gridLayout_5 = QtWidgets.QGridLayout(self.page_2)self.gridLayout_5.setContentsMargins(0, 0, 0, 0)self.gridLayout_5.setObjectName("gridLayout_5")self.listWidget = QtWidgets.QListWidget(self.page_2)self.listWidget.setObjectName("listWidget")item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)item = QtWidgets.QListWidgetItem()self.listWidget.addItem(item)self.gridLayout_5.addWidget(self.listWidget, 0, 0, 1, 1)self.toolBox.addItem(self.page_2, "")self.verticalLayout_3.addWidget(self.toolBox)self.gridLayout.addWidget(self.groupBox, 1, 0, 1, 1)self.tabWidget_2 = QtWidgets.QTabWidget(self.tab)self.tabWidget_2.setObjectName("tabWidget_2")self.tab_3 = QtWidgets.QWidget()self.tab_3.setObjectName("tab_3")self.gridLayout_6 = QtWidgets.QGridLayout(self.tab_3)self.gridLayout_6.setContentsMargins(0, 0, 0, 0)self.gridLayout_6.setObjectName("gridLayout_6")self.checkableButton = QtWidgets.QPushButton(self.tab_3)self.checkableButton.setCheckable(True)self.checkableButton.setChecked(True)self.checkableButton.setObjectName("checkableButton")self.gridLayout_6.addWidget(self.checkableButton, 1, 0, 1, 1)self.pushButton = QtWidgets.QPushButton(self.tab_3)self.pushButton.setObjectName("pushButton")self.gridLayout_6.addWidget(self.pushButton, 0, 0, 1, 1)self.pushButton_5 = QtWidgets.QPushButton(self.tab_3)self.pushButton_5.setObjectName("pushButton_5")self.gridLayout_6.addWidget(self.pushButton_5, 2, 0, 1, 1)self.tabWidget_2.addTab(self.tab_3, "")self.tab_5 = QtWidgets.QWidget()self.tab_5.setObjectName("tab_5")self.gridLayout_7 = QtWidgets.QGridLayout(self.tab_5)self.gridLayout_7.setContentsMargins(0, 0, 0, 0)self.gridLayout_7.setObjectName("gridLayout_7")self.tableWidget = QtWidgets.QTableWidget(self.tab_5)self.tableWidget.setObjectName("tableWidget")self.tableWidget.setColumnCount(2)self.tableWidget.setRowCount(4)item = QtWidgets.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(0, item)item = QtWidgets.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(1, item)item = QtWidgets.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(2, item)item = QtWidgets.QTableWidgetItem()self.tableWidget.setVerticalHeaderItem(3, item)item = QtWidgets.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(0, item)item = QtWidgets.QTableWidgetItem()self.tableWidget.setHorizontalHeaderItem(1, item)self.gridLayout_7.addWidget(self.tableWidget, 0, 0, 1, 1)self.tabWidget_2.addTab(self.tab_5, "")self.tab_4 = QtWidgets.QWidget()self.tab_4.setObjectName("tab_4")self.tabWidget_2.addTab(self.tab_4, "")self.gridLayout.addWidget(self.tabWidget_2, 0, 0, 1, 1)self.dateEdit = QtWidgets.QDateEdit(self.tab)self.dateEdit.setObjectName("dateEdit")self.gridLayout.addWidget(self.dateEdit, 2, 0, 1, 1)self.tabWidget.addTab(self.tab, "")self.tab_2 = QtWidgets.QWidget()self.tab_2.setObjectName("tab_2")self.gridLayout_2 = QtWidgets.QGridLayout(self.tab_2)self.gridLayout_2.setContentsMargins(0, 0, 0, 0)self.gridLayout_2.setObjectName("gridLayout_2")self.groupBox_2 = QtWidgets.QGroupBox(self.tab_2)self.groupBox_2.setObjectName("groupBox_2")self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_2)self.verticalLayout_4.setObjectName("verticalLayout_4")self.label = QtWidgets.QLabel(self.groupBox_2)self.label.setObjectName("label")self.verticalLayout_4.addWidget(self.label)self.radioButton = QtWidgets.QRadioButton(self.groupBox_2)self.radioButton.setObjectName("radioButton")self.verticalLayout_4.addWidget(self.radioButton)self.checkBox = QtWidgets.QCheckBox(self.groupBox_2)self.checkBox.setObjectName("checkBox")self.verticalLayout_4.addWidget(self.checkBox)self.checkBox_2 = QtWidgets.QCheckBox(self.groupBox_2)self.checkBox_2.setTristate(True)self.checkBox_2.setObjectName("checkBox_2")self.verticalLayout_4.addWidget(self.checkBox_2)self.treeWidget = QtWidgets.QTreeWidget(self.groupBox_2)self.treeWidget.setObjectName("treeWidget")item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget)item_0 = QtWidgets.QTreeWidgetItem(self.treeWidget)self.verticalLayout_4.addWidget(self.treeWidget)self.gridLayout_2.addWidget(self.groupBox_2, 0, 0, 1, 1)self.tabWidget.addTab(self.tab_2, "")self.verticalLayout_5.addWidget(self.tabWidget)self.horizontalLayout = QtWidgets.QHBoxLayout()self.horizontalLayout.setObjectName("horizontalLayout")self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_2.setObjectName("pushButton_2")self.horizontalLayout.addWidget(self.pushButton_2)self.bt_delay_popup = QtWidgets.QToolButton(self.centralwidget)self.bt_delay_popup.setObjectName("bt_delay_popup")self.horizontalLayout.addWidget(self.bt_delay_popup)self.bt_instant_popup = QtWidgets.QToolButton(self.centralwidget)self.bt_instant_popup.setPopupMode(QtWidgets.QToolButton.InstantPopup)self.bt_instant_popup.setObjectName("bt_instant_popup")self.horizontalLayout.addWidget(self.bt_instant_popup)self.bt_menu_button_popup = QtWidgets.QToolButton(self.centralwidget)self.bt_menu_button_popup.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)self.bt_menu_button_popup.setObjectName("bt_menu_button_popup")self.horizontalLayout.addWidget(self.bt_menu_button_popup)self.line_2 = QtWidgets.QFrame(self.centralwidget)self.line_2.setFrameShape(QtWidgets.QFrame.VLine)self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)self.line_2.setObjectName("line_2")self.horizontalLayout.addWidget(self.line_2)self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)self.pushButton_3.setEnabled(False)self.pushButton_3.setObjectName("pushButton_3")self.horizontalLayout.addWidget(self.pushButton_3)self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.centralwidget)self.doubleSpinBox.setObjectName("doubleSpinBox")self.horizontalLayout.addWidget(self.doubleSpinBox)self.toolButton = QtWidgets.QToolButton(self.centralwidget)self.toolButton.setPopupMode(QtWidgets.QToolButton.InstantPopup)self.toolButton.setObjectName("toolButton")self.horizontalLayout.addWidget(self.toolButton)self.verticalLayout_5.addLayout(self.horizontalLayout)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 1068, 23))self.menubar.setObjectName("menubar")self.menuMenu = QtWidgets.QMenu(self.menubar)self.menuMenu.setObjectName("menuMenu")self.menuSubmenu_2 = QtWidgets.QMenu(self.menuMenu)self.menuSubmenu_2.setObjectName("menuSubmenu_2")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.dockWidget1 = QtWidgets.QDockWidget(MainWindow)self.dockWidget1.setObjectName("dockWidget1")self.dockWidgetContents = QtWidgets.QWidget()self.dockWidgetContents.setObjectName("dockWidgetContents")self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents)self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)self.verticalLayout_2.setObjectName("verticalLayout_2")self.verticalLayout = QtWidgets.QVBoxLayout()self.verticalLayout.setObjectName("verticalLayout")self.comboBox = QtWidgets.QComboBox(self.dockWidgetContents)self.comboBox.setObjectName("comboBox")self.comboBox.addItem("")self.comboBox.addItem("")self.verticalLayout.addWidget(self.comboBox)self.horizontalSlider = QtWidgets.QSlider(self.dockWidgetContents)self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)self.horizontalSlider.setObjectName("horizontalSlider")self.verticalLayout.addWidget(self.horizontalSlider)self.textEdit = QtWidgets.QTextEdit(self.dockWidgetContents)self.textEdit.setObjectName("textEdit")self.verticalLayout.addWidget(self.textEdit)self.line = QtWidgets.QFrame(self.dockWidgetContents)self.line.setFrameShape(QtWidgets.QFrame.HLine)self.line.setFrameShadow(QtWidgets.QFrame.Sunken)self.line.setObjectName("line")self.verticalLayout.addWidget(self.line)self.progressBar = QtWidgets.QProgressBar(self.dockWidgetContents)self.progressBar.setProperty("value", 24)self.progressBar.setObjectName("progressBar")self.verticalLayout.addWidget(self.progressBar)self.verticalLayout_2.addLayout(self.verticalLayout)self.frame = QtWidgets.QFrame(self.dockWidgetContents)self.frame.setMinimumSize(QtCore.QSize(0, 100))self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setLineWidth(3)self.frame.setObjectName("frame")self.verticalLayout_2.addWidget(self.frame)self.dockWidget1.setWidget(self.dockWidgetContents)MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidget1)self.toolBar = QtWidgets.QToolBar(MainWindow)self.toolBar.setObjectName("toolBar")MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)self.dockWidget2 = QtWidgets.QDockWidget(MainWindow)self.dockWidget2.setObjectName("dockWidget2")self.dockWidgetContents_2 = QtWidgets.QWidget()self.dockWidgetContents_2.setObjectName("dockWidgetContents_2")self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents_2)self.gridLayout_3.setContentsMargins(0, 0, 0, 0)self.gridLayout_3.setObjectName("gridLayout_3")self.verticalSlider = QtWidgets.QSlider(self.dockWidgetContents_2)self.verticalSlider.setOrientation(QtCore.Qt.Vertical)self.verticalSlider.setObjectName("verticalSlider")self.gridLayout_3.addWidget(self.verticalSlider, 0, 0, 1, 1)self.dockWidget2.setWidget(self.dockWidgetContents_2)MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidget2)self.actionAction = QtWidgets.QAction(MainWindow)self.actionAction.setObjectName("actionAction")self.actionSub_menu = QtWidgets.QAction(MainWindow)self.actionSub_menu.setObjectName("actionSub_menu")self.actionAction_C = QtWidgets.QAction(MainWindow)self.actionAction_C.setObjectName("actionAction_C")self.menuSubmenu_2.addAction(self.actionSub_menu)self.menuSubmenu_2.addAction(self.actionAction_C)self.menuMenu.addAction(self.actionAction)self.menuMenu.addAction(self.menuSubmenu_2.menuAction())self.menubar.addAction(self.menuMenu.menuAction())self.toolBar.addAction(self.actionAction)self.toolBar.addAction(self.actionSub_menu)self.retranslateUi(MainWindow)self.tabWidget.setCurrentIndex(0)self.toolBox.setCurrentIndex(1)self.tabWidget_2.setCurrentIndex(0)QtCore.QMetaObject.connectSlotsByName(MainWindow)MainWindow.setTabOrder(self.pushButton, self.checkableButton)MainWindow.setTabOrder(self.checkableButton, self.pushButton_5)MainWindow.setTabOrder(self.pushButton_5, self.tabWidget_2)MainWindow.setTabOrder(self.tabWidget_2, self.tableWidget)MainWindow.setTabOrder(self.tableWidget, self.radioButton)MainWindow.setTabOrder(self.radioButton, self.checkBox)MainWindow.setTabOrder(self.checkBox, self.checkBox_2)MainWindow.setTabOrder(self.checkBox_2, self.treeWidget)MainWindow.setTabOrder(self.treeWidget, self.pushButton_2)MainWindow.setTabOrder(self.pushButton_2, self.bt_delay_popup)MainWindow.setTabOrder(self.bt_delay_popup, self.bt_instant_popup)MainWindow.setTabOrder(self.bt_instant_popup, self.bt_menu_button_popup)MainWindow.setTabOrder(self.bt_menu_button_popup, self.pushButton_3)MainWindow.setTabOrder(self.pushButton_3, self.doubleSpinBox)MainWindow.setTabOrder(self.doubleSpinBox, self.toolButton)MainWindow.setTabOrder(self.toolButton, self.comboBox)MainWindow.setTabOrder(self.comboBox, self.horizontalSlider)MainWindow.setTabOrder(self.horizontalSlider, self.textEdit)MainWindow.setTabOrder(self.textEdit, self.verticalSlider)MainWindow.setTabOrder(self.verticalSlider, self.tabWidget)MainWindow.setTabOrder(self.tabWidget, self.lineEdit)MainWindow.setTabOrder(self.lineEdit, self.listWidget)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.groupBox.setTitle(_translate("MainWindow", "ToolBox"))self.toolBox.setItemText(self.toolBox.indexOf(self.page), _translate("MainWindow", "Page 1"))__sortingEnabled = self.listWidget.isSortingEnabled()self.listWidget.setSortingEnabled(False)item = self.listWidget.item(0)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(1)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(2)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(3)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(4)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(5)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(6)item.setText(_translate("MainWindow", "New Item"))item = self.listWidget.item(7)item.setText(_translate("MainWindow", "New Item"))self.listWidget.setSortingEnabled(__sortingEnabled)self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("MainWindow", "Page 2"))self.checkableButton.setText(_translate("MainWindow", "Checkable button"))self.pushButton.setText(_translate("MainWindow", "PushButton"))self.pushButton_5.setText(_translate("MainWindow", "PushButton"))self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_3), _translate("MainWindow", "Tab 1"))item = self.tableWidget.verticalHeaderItem(0)item.setText(_translate("MainWindow", "New Row"))item = self.tableWidget.verticalHeaderItem(1)item.setText(_translate("MainWindow", "New Row"))item = self.tableWidget.verticalHeaderItem(2)item.setText(_translate("MainWindow", "New Row"))item = self.tableWidget.verticalHeaderItem(3)item.setText(_translate("MainWindow", "New Row"))item = self.tableWidget.horizontalHeaderItem(0)item.setText(_translate("MainWindow", "New Column"))item = self.tableWidget.horizontalHeaderItem(1)item.setText(_translate("MainWindow", "New Column 2"))self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_5), _translate("MainWindow", "Page"))self.tabWidget_2.setTabText(self.tabWidget_2.indexOf(self.tab_4), _translate("MainWindow", "Tab 2"))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1"))self.groupBox_2.setTitle(_translate("MainWindow", "GroupBox"))self.label.setText(_translate("MainWindow", "TextLabel"))self.radioButton.setText(_translate("MainWindow", "RadioB&utton"))self.checkBox.setText(_translate("MainWindow", "CheckBox"))self.checkBox_2.setText(_translate("MainWindow", "CheckBox Tristate"))self.treeWidget.headerItem().setText(0, _translate("MainWindow", "qdz"))__sortingEnabled = self.treeWidget.isSortingEnabled()self.treeWidget.setSortingEnabled(False)self.treeWidget.topLevelItem(0).setText(0, _translate("MainWindow", "qzd"))self.treeWidget.topLevelItem(1).setText(0, _translate("MainWindow", "effefe"))self.treeWidget.setSortingEnabled(__sortingEnabled)self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))self.pushButton_2.setText(_translate("MainWindow", "PushButton"))self.bt_delay_popup.setText(_translate("MainWindow", "Delayed popup  "))self.bt_instant_popup.setText(_translate("MainWindow", "Instant popup"))self.bt_menu_button_popup.setText(_translate("MainWindow", "MenuButtonPopup"))self.pushButton_3.setText(_translate("MainWindow", "Disabled"))self.toolButton.setText(_translate("MainWindow", "..."))self.menuMenu.setTitle(_translate("MainWindow", "&Menu"))self.menuSubmenu_2.setTitle(_translate("MainWindow", "&Submenu 2"))self.dockWidget1.setWindowTitle(_translate("MainWindow", "&Dock widget 1"))self.comboBox.setItemText(0, _translate("MainWindow", "Item 0"))self.comboBox.setItemText(1, _translate("MainWindow", "Item 2"))self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))self.dockWidget2.setWindowTitle(_translate("MainWindow", "Dock widget &2"))self.actionAction.setText(_translate("MainWindow", "&Action"))self.actionSub_menu.setText(_translate("MainWindow", "&Action B"))self.actionSub_menu.setToolTip(_translate("MainWindow", "submenu"))self.actionAction_C.setText(_translate("MainWindow", "Action &C"))

运行效果

image

http://www.dtcms.com/a/301262.html

相关文章:

  • zabbix-agent静默安装
  • MinIO 用户管理与权限控制详解
  • LINUX727 磁盘管理回顾1;配置文件回顾
  • 数据类型处理流讲解
  • 《中国棒球》cba外援规则·棒球1号位
  • Java排序中(a).compareTo(b)与Integer.compare(a, b)区别
  • Java学习-------外观模式
  • incus套件在 主力 Linux Distros 上的安装配置与基本使用
  • 【NLP实践】三、LLM搭建中文知识库:提供RestfulAPI服务
  • LeetCode第349题_两个数组的交集
  • python 阿里云 安装 dashscope的简介、安装
  • c语言结构体字节对齐
  • github上传本地项目过程记录
  • Spring经典“送命题”:BeanFactory vs FactoryBean
  • Flutter中实现页面跳转功能
  • vulhub-red靶机攻略
  • 深度学习计算(深度学习-李沐-学习笔记)
  • IKAnalyzer分词插件使用方法
  • 第十八章:AI的“通感”:揭秘图、文、音的共同语言——CLIP模型
  • 图像智能识别(一)-Python方向
  • 嵌入式学习日志————对射式红外传感器计次
  • 「iOS」————ARC
  • MyBatis-Plus 条件构造器(Wrapper)全解析
  • docker in docker - 在docker容器中使用宿主机的docker
  • mac电脑安装docker图文教程
  • Java面试全栈通关:从微服务到AI的技术深度解析
  • [10月考试] C
  • Java面试全攻略:Spring生态与微服务架构实战
  • LangChain实现RAG
  • [2025CVPR-图象超分辨方向]DORNet:面向退化的正则化网络,用于盲深度超分辨率