python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5滾動(dòng)條控件QScrollBar詳細(xì)使用方法與實(shí)例
可以看到,前面介紹的幾個(gè)窗口控件的共同點(diǎn)是新建一些窗口來(lái)裝載更多的控件,而QScrollBar提供了另一種思路:這個(gè)控件提供水平的或垂直的滾動(dòng)條,這樣可以擴(kuò)大當(dāng)前窗口的有效裝載面積,從而裝載更多的控件
QScrollBar類(lèi)中常用的信號(hào) 信號(hào) 含義 valueChanged 當(dāng)滑動(dòng)條的值改變發(fā)射此信號(hào) sliderMoved 當(dāng)用戶(hù)拖動(dòng)滑塊時(shí)發(fā)射此信號(hào) QScrollBar的使用實(shí)例import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): #水平布局 HBox=QHBoxLayout() #創(chuàng)建標(biāo)簽以及顯示文本,設(shè)置字體類(lèi)型和字號(hào)大小 self.l1=QLabel(’拖動(dòng)滑塊改變顏色’) self.l1.setFont(QFont(’Arial’,16)) #添加到布局中 HBox.addWidget(self.l1) #創(chuàng)建滑塊,設(shè)置最大值,滑動(dòng)信號(hào)關(guān)聯(lián)到槽函數(shù) self.s1=QScrollBar() self.s1.setMaximum(255) self.s1.sliderMoved.connect(self.sliderval) self.s2=QScrollBar() self.s2.setMaximum(255) self.s2.sliderMoved.connect(self.sliderval) self.s3=QScrollBar() self.s3.setMaximum(255) self.s3.sliderMoved.connect(self.sliderval) #添加部件到布局中 HBox.addWidget(self.s1) HBox.addWidget(self.s2) HBox.addWidget(self.s3) #初始化位置以及初始窗口大小,設(shè)置整體布局方式和標(biāo)題 self.setGeometry(300,300,300,200) self.setWindowTitle(’QScrollBar例子’) self.setLayout(HBox) def sliderval(self): #輸出當(dāng)前三個(gè)滑塊位置所代表的值 print(self.s1.value(),self.s2.value(),self.s3.value()) #實(shí)例化調(diào)色板對(duì)象,設(shè)置顏色為三個(gè)滑塊的值 palette=QPalette() c=QColor(self.s1.value(),self.s2.value(),self.s3.value()) palette.setColor(QPalette.Foreground,c) #設(shè)置標(biāo)簽的調(diào)色板,加載屬性 self.l1.setPalette(palette)if __name__ == ’__main__’: app=QApplication(sys.argv) demo=Example() demo.show() sys.exit(app.exec_())
運(yùn)行效果圖如下
代碼解析
在這個(gè)例子中,設(shè)置了三個(gè)滑動(dòng)條來(lái)控制標(biāo)簽中顯示的文字的字體顏色的RGB值
當(dāng)滑塊滑動(dòng)時(shí),將sliderMoved信號(hào)與槽函數(shù)連接起來(lái)
self.s3.sliderMoved.connect(self.sliderval)
本文主要講解了PyQt5滾動(dòng)條控件QScrollBar詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件使用知識(shí)請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章:
1. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)2. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車(chē)輛管理系統(tǒng)3. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)4. ASP將數(shù)字轉(zhuǎn)中文數(shù)字(大寫(xiě)金額)的函數(shù)5. Jsp servlet驗(yàn)證碼工具類(lèi)分享6. jscript與vbscript 操作XML元素屬性的代碼7. 基于PHP做個(gè)圖片防盜鏈8. Jsp+Servlet實(shí)現(xiàn)文件上傳下載 文件列表展示(二)9. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解10. XML在語(yǔ)音合成中的應(yīng)用
