日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyqt5讲解3:QComboBox,QSpinBox,QSlider

發(fā)布時間:2024/9/30 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyqt5讲解3:QComboBox,QSpinBox,QSlider 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

下拉列表框QComboBox

QComboBox是一個集按鈕和下拉選項于一體的控件,也稱為下拉列表框。

常用的方法

addItem() 添加一個下拉選項
addItems() 從列表中添加下拉選項
Clear() 刪除下拉選項中集中的所有選項
count() 返回下拉選項集合中的數(shù)目
currentText() 返回選中選項的文本
itemText(i) 獲取索引為i的item的選項文本
currentIndex() 返回選中項的索引
setItemText(int index, text) 改變序號為index項的文本
常用的信號
Activated 當用戶選中一個下拉選項時發(fā)射該信號
currentIndexChanged() 當下拉選項的索引發(fā)生改變時發(fā)射該信號
highlighted 當選中一個已經(jīng)選中的下拉選項時,發(fā)射該信號

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class ComboxDemo(QWidget):def __init__(self, parent=None):super(ComboxDemo, self).__init__(parent)self.setWindowTitle("combox 例子")self.resize(300, 90)layout = QVBoxLayout()self.lbl = QLabel("")self.cb = QComboBox()self.cb.addItem("C")self.cb.addItem("C++")self.cb.addItems(["Java", "C#", "Python"])self.cb.currentIndexChanged.connect(self.selectionchange)layout.addWidget(self.cb)layout.addWidget(self.lbl)self.setLayout(layout)def selectionchange(self, i):self.lbl.setText(self.cb.currentText())self.lbl.adjustSize()print("Items in the list are :")for count in range(self.cb.count()):print('item' + str(count) + '=' + self.cb.itemText(count))#每個選項名稱print("Current index", i, "selection changed ", self.cb.currentText())#當前選項if __name__ == '__main__':app = QApplication(sys.argv)comboxDemo = ComboxDemo()comboxDemo.show()sys.exit(app.exec_())

計數(shù)器QSpinBox

QSPINBox是一個計數(shù)器控件,允許用戶選擇一個整數(shù)值通過單擊向上向下或者按鍵盤上的上下鍵來增加減少當前顯示的值,當然用戶也可以輸入值
在默認情況下,QSpinBox的取值范圍是(0-99),每次改變的步長是1

方法含義
setMinimum()設(shè)置計數(shù)器的下界
setMaximum()設(shè)置計數(shù)器的上界
setRange()設(shè)置計數(shù)器的最大值,最小值,步長值
setValue()設(shè)置計數(shù)器的當前值
Value()返回計數(shù)器的當前值
singleStep()設(shè)置計數(shù)器的步長值

每次信號改變都會發(fā)射valueChanged信號

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class spindemo(QWidget):def __init__(self, parent=None):super(spindemo, self).__init__(parent)self.setWindowTitle("SpinBox 例子")self.resize(300, 100)layout = QVBoxLayout()self.l1 = QLabel("current value:")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)self.sp = QSpinBox()self.sp.setRange(10,100)#最小值,最大值self.sp.setSingleStep(10)#步長layout.addWidget(self.sp)self.sp.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self):self.l1.setText("current value:" + str(self.sp.value()))if __name__ == '__main__':app = QApplication(sys.argv)ex = spindemo()ex.show()sys.exit(app.exec_())

滑動條QSlider

方法含義
setMinimum()設(shè)置滑動條控件的最小值
setMaximum()設(shè)置滑動條控件的最大值
setSingleStep()設(shè)置滑動條控件遞增/遞減的步長值
setValue()設(shè)置滑動條控件的值
value()返回滑動條控件的值
setTickIntweval()設(shè)置刻度間隔
setTickPosition()設(shè)置刻度標記的位置,可以輸入一個枚舉值,這個枚舉值指定刻度線相對于滑塊和用戶操作的位置。例如:QSlider.NoTicks(不會繪制任何刻度線)、QSliderTicksBothSides(在滑塊的兩側(cè)繪制刻度線)、QSlider.TicksAbove(在水平滑塊上方繪制刻度線)、QSlider.TicksBelow(在水平滑塊下方繪制刻度線)、QSlider.TicksLeft(在垂直滑塊左側(cè)繪制刻度線)、QSlider.TicksRight(在垂直滑塊右側(cè)繪制刻度線)
信號含義
valueChanged當滑塊的值發(fā)生改變時發(fā)射該信號
sliderPressed當用戶按下滑塊時發(fā)射該信號
sliderMoved當用戶拖動滑塊時發(fā)射該信號
sliderReleased當用戶釋放滑塊時發(fā)射該信號

水平或垂直滾動條
self.sp(Qt.Horizontal)
self.sp(Qt.vertical)

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class SliderDemo(QWidget):def __init__(self, parent=None):super(SliderDemo, self).__init__(parent)self.setWindowTitle("QSlider 例子")self.resize(300, 100)layout = QVBoxLayout()self.l1 = QLabel("Hello PyQt5")self.l1.setAlignment(Qt.AlignCenter)layout.addWidget(self.l1)# 水平方向self.sl = QSlider(Qt.Horizontal)# 設(shè)置最小值self.sl.setMinimum(10)# 設(shè)置最大值self.sl.setMaximum(50)# 步長self.sl.setSingleStep(3)# 設(shè)置當前值self.sl.setValue(20)# 刻度位置,刻度在下方self.sl.setTickPosition(QSlider.TicksBelow)# 設(shè)置刻度間隔self.sl.setTickInterval(5)layout.addWidget(self.sl)# 連接信號槽self.sl.valueChanged.connect(self.valuechange)self.setLayout(layout)def valuechange(self):print('current slider value=%s' % self.sl.value())size = self.sl.value()self.l1.setFont(QFont("Arial", size)) if __name__ == '__main__':app = QApplication(sys.argv)demo = SliderDemo()demo.show()sys.exit(app.exec_())

電氣專業(yè)的計算機萌新,寫博文不容易,如果你覺得本文對你有用,請點個贊再走,謝謝。

總結(jié)

以上是生活随笔為你收集整理的pyqt5讲解3:QComboBox,QSpinBox,QSlider的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。