- PyQt 教程
- PyQt - 首頁
- PyQt - 簡介
- PyQt - 環境配置
- PyQt - Hello World
- PyQt - 主要類
- PyQt - 使用 Qt Designer
- PyQt - 元物件
- PyQt 訊號 & 槽
- PyQt - 訊號和槽
- PyQt - 支援和訊號
- PyQt - 未繫結和繫結訊號
- PyQt - 使用 PyQtSignal 建立新訊號
- PyQt - 連線、斷開和發射訊號
- PyQt - 槽裝飾器
- PyQt - 槽連線
- PyQt 佈局
- PyQt - 佈局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控制元件
- PyQt - 基本控制元件
- PyQt - QLabel 控制元件
- PyQt - QLineEdit 控制元件
- PyQt - QPushButton 控制元件
- PyQt - QRadioButton 控制元件
- PyQt - QCheckBox 控制元件
- PyQt - QComboBox 控制元件
- PyQt - QSpinBox 控制元件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控制元件
- PyQt - QFontComboBox 控制元件
- PyQt - QDoubleSpinBox 控制元件
- PyQt - QToolBox 控制元件
- PyQt - QDialog 類
- PyQt - QMessageBox
- PyQt - 多文件介面
- PyQt - 拖放操作
- PyQt 繪圖 API
- PyQt - 繪圖 API
- PyQt 資料庫
- PyQt - 資料庫處理
- PyQt 核心知識
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 類
- PyQt 有用資源
- PyQt - 快速指南
- PyQt - 有用資源
- PyQt - 討論
PyQt - QSlider 控制元件 & 訊號
QSlider 類物件為使用者提供了一個槽,使用者可以在其上移動一個滑塊。它是一個經典的控制有界值的控制元件。滑塊在槽中的位置等效於控制的下限和上限之間的整數。
可以透過在建構函式中指定方向,以水平或垂直方式顯示滑塊控制元件。
self.sp = QSlider(Qt.Horizontal) self.sp = QSlider(Qt.Vertical)
下表列出了 QSlider 類的一些常用方法:
以下是 QSlider 最常用的方法。
| 序號 | 方法 & 描述 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 |
setMinimum() 設定滑塊的下限 |
||||||||||||
| 2 |
setMaximum() 設定滑塊的上限 |
||||||||||||
| 3 |
setSingleStep() 設定增量/減量步長 |
||||||||||||
| 4 |
setValue() 以程式設計方式設定控制元件的值 |
||||||||||||
| 5 |
value() 返回當前值 |
||||||||||||
| 6 |
setTickInterval() 在槽上設定刻度的數量 |
||||||||||||
| 7 |
setTickPosition() 在槽上放置刻度。值如下:
|
QSlider 訊號
| 序號 | 方法 & 描述 |
|---|---|
| 1 |
valueChanged() 當滑塊的值發生變化時 |
| 2 |
sliderPressed() 當用戶開始拖動滑塊時 |
| 3 |
sliderMoved() 當用戶拖動滑塊時 |
| 4 |
sliderReleased() 當用戶釋放滑塊時 |
valueChanged() 訊號是最常使用的訊號。
示例
以下示例演示了上述功能。一個標籤和一個水平滑塊放置在垂直佈局中。滑塊的 valueChanged() 訊號連線到 valuechange() 方法。
self.sl.valueChanged.connect(self.valuechange)
槽函式 valuechange() 讀取滑塊的當前值,並將其用作標籤標題的字型大小。
size = self.sl.value()
self.l1.setFont(QFont("Arial",size))
完整的程式碼如下:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class sliderdemo(QWidget):
def __init__(self, parent = None):
super(sliderdemo, self).__init__(parent)
layout = QVBoxLayout()
self.l1 = QLabel("Hello")
self.l1.setAlignment(Qt.AlignCenter)
layout.addWidget(self.l1)
self.sl = QSlider(Qt.Horizontal)
self.sl.setMinimum(10)
self.sl.setMaximum(30)
self.sl.setValue(20)
self.sl.setTickPosition(QSlider.TicksBelow)
self.sl.setTickInterval(5)
layout.addWidget(self.sl)
self.sl.valueChanged.connect(self.valuechange)
self.setLayout(layout)
self.setWindowTitle("SpinBox demo")
def valuechange(self):
size = self.sl.value()
self.l1.setFont(QFont("Arial",size))
def main():
app = QApplication(sys.argv)
ex = sliderdemo()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
以上程式碼產生以下輸出:
當滑塊的滑塊在滑塊上移動時,標籤的字型大小會發生變化。
廣告