91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中GUI庫PyQt5樣式的QSS子控件有什么用

發布時間:2021-06-18 09:19:29 來源:億速云 閱讀:195 作者:小新 欄目:開發技術

這篇文章主要介紹了Python中GUI庫PyQt5樣式的QSS子控件有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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 sys
from 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 logging
import sys
from PyQt5 import QtWidgets, QtCore
# make the example runnable without the need to install
from os.path import abspath, dirname
sys.path.insert(0, abspath(dirname(abspath(__file__)) + '/..'))

import qdarkstyle
import ui.example_pyqt5_ui as example_ui


def 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子控件有什么用

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python中GUI庫PyQt5樣式的QSS子控件有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂拉木县| 隆林| 霞浦县| 乌苏市| 永福县| 扬州市| 浦城县| 特克斯县| 石渠县| 南充市| 鱼台县| 赣州市| 利辛县| 海口市| 托里县| 磐石市| 新宁县| 罗定市| 唐山市| 绥化市| 东平县| 田东县| 上林县| 普陀区| 鹤山市| 信阳市| 余庆县| 漯河市| 金坛市| 绵阳市| 恩平市| 漳州市| 津南区| 富宁县| 洮南市| 库尔勒市| 潞西市| 静安区| 舟曲县| 大余县| 都安|