滑动条QSlider

QSlider只提供整数范围

滑块接受Tab键的焦点,并同时提供了一个鼠标滚轮和键盘接口。键盘接口如下:

Left/Right 移动水平滑块一个步长。
Up/Down 移动垂直滑块一个步长。
PageUp 上移一页。
PageDown 下移一页。
Home 移动至起始位置(最小值)。
End 移动至结束位置(最大值)

 1 import sys
 2 from PyQt5.QtCore import Qt
 3 from PyQt5.QtGui import QFont
 4 from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QLabel, QVBoxLayout, QHBoxLayout
 5
 6
 7 class Demo(QWidget):
 8     def __init__(self):
 9         super(Demo, self).__init__()
10         self.slider_1 = QSlider(Qt.Horizontal, self)  # 实例化滚动条
11         #Qt.Hrizontal  水平的滑动条
12         #Qt.Vertical  垂直的滑动条
13         self.slider_1.setRange(0, 100)  #设置范围
14         self.slider_1.valueChanged.connect(lambda: self.on_change_func(self.slider_1))
15         #当滚动条的值发生变化时发出信号
16         self.slider_2 = QSlider(Qt.Vertical, self)
17         self.slider_2.setMinimum(0)  # 设置最小值
18         self.slider_2.setMaximum(100)  # 设置最大值
19         self.slider_2.valueChanged.connect(lambda: self.on_change_func(self.slider_2))
20         self.label = QLabel(‘0‘, self)
21         self.label.setFont(QFont(‘Arial Black‘, 20))
22         self.h_layout = QHBoxLayout()
23         self.v_layout = QVBoxLayout()
24         self.h_layout.addWidget(self.slider_2)
25         self.h_layout.addStretch(1)
26         self.h_layout.addWidget(self.label)
27         self.h_layout.addStretch(1)
28         self.v_layout.addWidget(self.slider_1)
29         self.v_layout.addLayout(self.h_layout)
30         self.setLayout(self.v_layout)
31         self.slider_1.sliderPressed.connect(self.f)  #按下滑块时发射此信号
32         self.slider_1.sliderMoved.connect(self.f1) #拖动滑块时发出信号
33         self.slider_1.sliderReleased.connect(self.f2)  #释放滑块时发射此信号
34
35     def f2(self):
36         print(‘释放滑块‘)
37
38     def f1(self):
39         print(‘拖动了滑块‘)
40
41     def f(self):
42         print(‘按下了滑块‘)
43
44
45     def on_change_func(self, slider):
46         if slider == self.slider_1:
47             self.slider_2.setValue(self.slider_1.value())
48             #setValue   设置滚动条的值
49             #self.slider_1.value()   返回滚动条的值
50             self.label.setText(str(self.slider_1.value()))
51         else:
52             self.slider_1.setValue(self.slider_2.value())
53             self.label.setText(str(self.slider_2.value()))
54
55
56 if __name__ == ‘__main__‘:
57     app = QApplication(sys.argv)
58     demo = Demo()
59     demo.show()
60     sys.exit(app.exec_())

原文地址:https://www.cnblogs.com/liming19680104/p/10360570.html

时间: 2024-10-19 21:45:41

滑动条QSlider的相关文章

使用OpenCV滑动条写成的简单调色器,实时输出RGB值

好久没有写博客了,最近在看OpenCV,于是动手写了个简单的RGB调色器,在终端实时输出RGB的值.通过这个程序学习滑动条的使用.程序中主要用到cvCreateTrackbar ,其用法如下: cvCreateTrackbar 创建trackbar并将它添加到指定的窗口. CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) ); int cvCreateTrackbar( const char* trackbar_name, cons

创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放

/* 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放. 一个滑动条用来控制视频播放位置,以10为步长跳进.另一个滑动条用来控制 停止/播放 */ #include <cv.h> #include <highgui.h> int g_slider_position = 0; CvCapture* g_capture = NULL; int index = 0; bool flag = true; int g_slider_position1 = 0; void o

【iOS开发-11】UISlider滑动条的属性介绍以及于标签联合使用实时显示变动值

(1)滑动条的左右端背景可以设置上一页下一页的图片: (2)滑动条的轨道图片可以设置为渐变等等图片. (3)滑动条因为值可以互动,所以addTarget:方法很重要,其中事件值变动UIControlEventValueChanged比较特殊,其实和按钮的按下事件是一个性质,都是一个事件而已. #import "ViewController.h" @interface ViewController () @end @implementation ViewController { //应为

Lua中调用 cocos2d-x 的滑动条/滚动条 ScrollView

 ScrollView 我想玩儿过手机的朋友对滑动条都不陌生吧,(旁边: 这不是废话么???? )   那好吧,废话不多说直接开始ScrollView吧 local m_BaseNode  -- 主场景 local CreateScroll    -- 房间分级滑动视图 local CreateStageNode   -- 创建节点 local m_ScrollView              -- 滑动层变量 local m_Inner     -- 内容器 local addScrol

opencv学习之路(5)、鼠标和滑动条操作

一.鼠标事件 1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 using namespace cv; 4 using namespace std; 5 6 Mat img(500,500,CV_8UC3,Scalar(255,255,255));//定义成全局变量 7 8 void OnMouse(int event,int x,int y,int flags,void* param){ 9 if(event==CV_EV

创建滑动条

函数原型: int createTrackbar(conststring& trackbarname,conststring& winname,int* value,int count,TrackbarCallback onChange=0,void* userdata = 0); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // 为窗口标题定义的宏 // --

Android开发手记(11) 滑动条SeekBar

安卓滑动条的操作特别简单,通过getProgress()可以获得SeekBar的位置,通过setProgress(int progress)可以设置SeekBar的位置.要想动态获取用户对SeekBar的操作的话,只需要设置setOnSeekBarChangeListener即可. setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() 示例代码如下: 1 import android.support.v7.app.App

ListView自定义滑动条

1 /** 2 * 修改默认滑动条 3 */ 4 private void SetSliderIcon() { 5 try { 6 Field f = AbsListView.class.getDeclaredField("mFastScroller"); 7 f.setAccessible(true); 8 Object o = f.get(ListView1); 9 f = f.getType().getDeclaredField("mThumbDrawable"

opencv学习之路(6)、鼠标截图,滑动条播放视频

一.鼠标截图 1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 using namespace cv; 4 using namespace std; 5 6 Mat img=imread("E://1.jpg"); 7 Mat temp=img.clone(); 8 Mat ROI; 9 Point pt; 10 bool flag=false; 11 12 void onMouse(int event,