亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python GUI庫PyQt5樣式QSS子控件介紹

瀏覽:2日期:2022-08-06 14:46:10
QSS子控件

QSS子控件實際上也是一種選擇器,其應用在一些復合控件上,典型的如QComboBox,該控件的外觀是,有一個矩形的外邊框,右邊有一個下拉箭頭,點擊之后會彈出下拉列表,例如:

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

上面的樣式指定所有的QComboBox下拉箭頭的圖片是自定義的,圖片文件為dropdown.png

::drop-down子控件選擇器可以與上面提到到的選擇器一起聯合使用,例如

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

表示為指定的id為myQComboBox的QComboBox控件的下拉箭頭自定義圖片,需要注意的是,子控件選擇器實際上是選擇復合控件的一部分,也就是對復合控件的一部分應用樣式,例如為QComboBox下拉箭頭指定圖片,而不是QComboBox本身指定圖片

QSS偽狀態

QSS偽狀態選擇器是以冒號開頭的一個選擇表達式,例如hover,表示當鼠標指針經過時的狀態,偽狀態選擇器限制了當控件處于某種狀態才可以使用的QSS規則,偽狀態只能描述一個控件或者一個復合控件的自控件的狀態,所以它只能放在選擇器的最后面,例如

QComboBox:hover{background-color:red;}

表示到鼠標經過QComboBox時.其背景色指定為紅色

該偽狀態:hover描述的是QComboBox的狀態,除可以描述所選擇的控件外,偽狀態還可以描述子控件選擇器所選擇的復合控件的子控件的狀態

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

表示當鼠標指針經過QComboBox的下拉箭頭時,該下拉箭頭的背景色變成紅色

此外,偽狀態還可以用一個感嘆號來表示狀態,例如,:hove表示鼠標指針經過的狀態,:!hover表示鼠標沒有經過的狀態,多種偽狀態可以同時使用,例如

QCheckBox:hover:checked{color:white}

表示當鼠標指針經過一個選中的QCheckBox時,設置其文字的前景色為白色

QSS提供了很多的偽狀態,一些偽狀態只能用在特定的控件上,具體有哪些偽狀態,在pyqt幫助文檔中有詳細的列表

實例:QComboBox的樣式

import sysfrom PyQt5.QtWidgets import *class 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樣式’) #設置樣式 qssStyle=’’’ QComboBox#myQComboBox::drop-down{ image:url(./images/dropdown.png) } QComboBox#myQComboBox::drop-down:hover{ background-color:red } ’’’ self.setStyleSheet(qssStyle)if __name__ == ’__main__’: app=QApplication(sys.argv) win=WindowDemo() win.show() sys.exit(app.exec_())

運行程序,運行效果如下

Python GUI庫PyQt5樣式QSS子控件介紹Python GUI庫PyQt5樣式QSS子控件介紹

QDarkStyleSheet樣式表

除自己編寫的QSS樣式表,網上還有很多質量很高的QSS樣式表。比如QDarkStyleSheet,它是一個用于PyQt應用程序的深黑色樣式表

安裝

pip install qdarkstyle

實例:QDarKStyleSheet的顯示界面

import loggingimport sysfrom PyQt5 import QtWidgets, QtCore# make the example runnable without the need to installfrom os.path import abspath, dirnamesys.path.insert(0, abspath(dirname(abspath(__file__)) + ’/..’))import qdarkstyleimport ui.example_pyqt5_ui as example_uidef main(): ''' Application entry point ''' logging.basicConfig(level=logging.DEBUG) # create the application and the main window app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QMainWindow() # setup ui ui = 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 #6 window.tabifyDockWidget(ui.dockWidget1, ui.dockWidget2) # setup stylesheet app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) # auto quit after 2s when testing on travis-ci if '--travis' in sys.argv: QtCore.QTimer.singleShot(2000, app.exit) # run window.show() app.exec_()if __name__ == '__main__': main()

運行效果圖

Python GUI庫PyQt5樣式QSS子控件介紹

如果你對PyQt5樣式QSS感興趣的話可以再看看《Python GUI庫PyQt5圖形和特效樣式QSS介紹》,更多關于Python GUI庫PyQt5樣式QSS的文章大家可以點擊下面的相關鏈接

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产成人精品天堂 | 免费人成又黄又爽的视频在线 | 国产成人在线免费观看 | 久久99爰这里有精品国产 | 日本高清在线一区二区三区 | 精品综合久久久久久98 | 国产精品美女免费视频大全 | 欧美综合精品一区二区三区 | 亚洲国产色综合有声小说 | 黄色小视频在线观看免费 | zzzzzzz中国美女| 国产成人精品日本亚洲网址 | 精品日韩欧美 | 国产精品1页 | 久久三级精品 | 日韩欧美第一区二区三区 | 99久久亚洲综合精品网站 | 日本久久久久亚洲中字幕 | 一区二区三区不卡免费视频97 | 中国女人三级在线播放 | 国产精品日韩欧美一区二区 | 在线日韩亚洲 | 一级做a爰片性色毛片新版的 | 唐人呦一呦xxxx视频 | 免费一级a毛片夜夜看 | 在线视频 日韩 | 国产精品综合在线 | a级毛片免费观看在线播放 a级毛片免费观看网站 | 国产大片91精品免费观看男同 | 久久99热精品免费观看无卡顿 | 毛片一区二区三区 | 蛇女欲潮三级在线看 | 麻豆视频在线免费看 | 日本xxxⅹ色视频在线观看网站 | 亚洲第一在线 | 狠狠五月天| 国产精品你懂的在线播放调教 | 久久午夜国产片 | 欧美日本一级在线播放 | 欧美视频一二三区 | 亚洲精品网站在线观看不卡无广告 |