- PyQt5 教程
- PyQt5 - 首頁
- PyQt5 - 簡介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要類
- PyQt5 - 使用 Qt Designer
- PyQt5 - 訊號與槽
- PyQt5 - 佈局管理
- PyQt5 - 基本控制元件
- PyQt5 - QDialog 類
- PyQt5 - QMessageBox
- PyQt5 - 多文件介面
- PyQt5 - 拖放
- PyQt5 - 資料庫處理
- PyQt5 - 繪圖 API
- PyQt5 - BrushStyle 常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 類
- PyQt5 有用資源
- PyQt5 - 快速指南
- PyQt5 - 有用資源
- PyQt5 - 討論
PyQt5 - QSpinBox 控制元件
一個QSpinBox物件為使用者提供了一個文字框,該文字框顯示一個整數,其右側帶有向上/向下按鈕。如果按下向上/向下按鈕,文字框中的值會增加/減少。
預設情況下,框中的整數從 0 開始,到 99 結束,步長為 1。對於浮點值,請使用 QDoubleSpinBox。
QSpinBox 類的重要方法列在下表中:
| 序號 | 方法及說明 |
|---|---|
| 1 |
setMinimum() 設定計數器的下限 |
| 2 |
setMaximum() 設定計數器的上限 |
| 3 |
setRange() 設定最小值、最大值和步長值 |
| 4 |
setValue() 以程式設計方式設定微調框的值 |
| 5 |
value() 返回當前值 |
| 6 |
singleStep() 設定計數器的步長值 |
每次按下向上/向下按鈕時,QSpinBox 物件都會發出valueChanged()訊號。關聯的槽函式可以透過value()方法檢索小部件的當前值。
下面的示例在一個頂層視窗的垂直佈局中放置了一個標籤 (l1) 和一個微調框 (sp)。valueChanged() 訊號連線到 valuechange() 方法。
self.sp.valueChanged.connect(self.valuechange)
valueChange() 函式將當前值顯示為標籤的標題。
self.l1.setText("current value:"+str(self.sp.value()))
完整的程式碼如下:
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)
layout = QVBoxLayout()
self.l1 = QLabel("current value:")
self.l1.setAlignment(Qt.AlignCenter)
layout.addWidget(self.l1)
self.sp = QSpinBox()
layout.addWidget(self.sp)
self.sp.valueChanged.connect(self.valuechange)
self.setLayout(layout)
self.setWindowTitle("SpinBox demo")
def valuechange(self):
self.l1.setText("current value:"+str(self.sp.value()))
def main():
app = QApplication(sys.argv)
ex = spindemo()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
以上程式碼產生以下輸出:
pyqt_basic_widgets.htm
廣告