PyQt5対照研究(のQSlider研究)

QSliderの継承グラフ:

 

 

QSliderの説明:

 

 

 

 

QSlider継承:

それは、QAbstractSliderから継承されました

 

QSlider機能的役割:

スケール制御

PyQt5.Qt インポート * ちょうどこのインポートすることができますについて学ぶために始め
インポートSYSの

クラス:ウィンドウ(QWidgetの)
     DEF  __init__ :(セルフ)
        スーパー()。__init__ ()
        self.setWindowTitle(" QSlider学習" 
        self.resize( 400 400 
        self.set_ui()


    DEF set_ui(自己):
        スライダー = QSlider(自己)
        slider.move( 200、200 
        slider.resize( 30,200 #のスケール
        slider.setSliderPosition(QSlider.TicksLeft)
        slider.setTickPosition(QSlider.TicksBothSides) 

        调整刻度的密度 
        slider.setTickInterval(5 

        BTN = のQPushButton(自己)
        btn.setText(" 按钮" 
        btn.move(0、 300 
        BTN .clicked.connect(self.btn_clicked_slot)

        slider.valueChanged.connect(ラムダヴァル:プリント(ヴァル))

    デフ試験(自己):
         渡す

    DEF (自己)btn_clicked_slot:
         渡す

場合 __name__ == '__main__ ' 
    アプリ = はQApplication(sys.argvの)

    ウィンドウ = ウィンドウ()
    window.show()

    sys.exit(app.exec_())
コードの表示

 

ケース:

from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
import sys


class MySlider(QSlider):
    def __init__(self, parent=None, *args, **kwargs):
        super().__init__(parent, *args, **kwargs)
        self.setup_ui()
        self.setMaximum(100)
        self.setMinimum(0)

    def setup_ui(self):
        self.setTickPosition(QSlider.TicksBothSides)
        self.label = QLabel(self)
        self.label.setText("0")
        self.label.setStyleSheet("background-color:red;")
        self.label.hide()

    def mousePressEvent(self, event):
        QMouseEvent
        super().mousePressEvent(event)
        x = (self.width() - self.label.width()) / 2
        y = (self.maximum() - self.value()) / (self.maximum() - self.minimum()) * (self.height() -self.label.height())
        self.label.show()
        self.label.move(x, y)

    def mouseMoveEvent(self, event):
        super().mouseMoveEvent(event)
        x = (self.width() - self.label.width()) / 2
        y = (self.maximum() - self.value()) / (self.maximum() - self.minimum()) * (self.height() -self.label.height())
        self.label.move(x, y)
        self.label.setText(str(self.value()))
        self.label.adjustSize()    # 它要放在这种检测的事件方法中

    def mouseReleaseEvent(self, event):
        super().mouseReleaseEvent(event)
        self.label.hide()



class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QSlider 案例的学习")
        self.resize(400, 400)
        self.set_ui()

    def set_ui(self):
        slider = MySlider(self)
        slider.move(200, 200)
        slider.resize(30, 200)


if __name__ == '__main__':
    app = QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

QSlider的信号:

看它的父类

总结:

我们看下个滑块控件:QScrollBar  :https://www.cnblogs.com/zach0812/p/11391839.html

 

おすすめ

転載: www.cnblogs.com/zach0812/p/11391472.html