Qt Widgets——抽象滑块及其继承类
三个可视类的默认外观分别如下(win7):它们的滑块都处于最小值0处。
理解QAbstractSlider时
可将它想成就是QScrollBar(该小部件的外观比较多地拥有QAbstractSlider属性):
属性列表如下:
|
|
不进行人为设置时的默认值如下:
公有函数主要是对以上属性的赋值或取值,列表如下:(以横向滚动条(图中右上角那个)说明)
QAbstractSlider(QWidget * parent = )
~QAbstractSlider() //基本使用,需要设置以下几项
void setMinimum(int)//滑块处于最左端时它代表的值
void setMaximum(int)//滑块处于最右端时它代表的值
void setSingleStep(int)//单击左或右小箭头时,滑块变化的长度
void setPageStep(int)
void setSliderPosition(int)//设置滑块初始化后处的位置
//特殊要求时,需要设置以下
void setTracking(bool enable)//设置是否追踪,默认true,追踪时,只要滑块值在改变,它就不断发出信号(较多次),false时,只在松开滑块值改变时才发出(较少次)具体可试试例子的输出
void setInvertedAppearance(bool)//设置成true后,最大最小值位置调换,且点击箭头时,滑块向相反方向走
void setInvertedControls(bool)
void setSliderDown(bool)
//以下取回值,绝大部分与以上对应
int value() const
int maximum() const
int minimum() const
int singleStep() const
int pageStep() const
int sliderPosition() const bool hasTracking() const
bool invertedAppearance() const
bool invertedControls() const
bool isSliderDown() const void triggerAction(SliderAction action)
Qt::Orientation orientation() const
公有槽函数如下:
void setOrientation(Qt::Orientation)//代码创建的默认为竖直向的,需要横向的可设置这个,枚举值在下方
void setRange(int min, int max)//设置值在变化范围,与setMinimun与setMaxmun两函数效果相同
void setValue(int)
enum Qt::Orientation:
Constant Value
Qt::Horizontal 0x1
Qt::Vertical 0x2
信号如下:
void actionTriggered(int action)
void rangeChanged(int min, int max)
void sliderMoved(int value)
void sliderPressed()
void sliderReleased()
void valueChanged(int value)//一般使用这个
QScrollBar大多函数都继承自上述类,
它的公有函数只有构造函数:
QScrollBar(QWidget * parent = )
QScrollBar(Qt::Orientation orientation, QWidget * parent = )
~QScrollBar()
示例如下:
#include "dialog.h"
#include "ui_dialog.h"
#include <QGridLayout>
#include <QScrollBar>
#include <QDebug>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ScrollBar=new QScrollBar;
ScrollBar->setMinimum();
ScrollBar->setMaximum();
ScrollBar->setSingleStep();
ScrollBar->setPageStep();
ScrollBar->setSliderPosition();
ScrollBar->setOrientation(Qt::Horizontal);//将它改为水平的
//ScrollBar->setInvertedAppearance(true);
//ScrollBar->setInvertedControls(true);
//ScrollBar->setTracking(false); QGridLayout *Layout = new QGridLayout;//布局类,用于将部件显示到建立的ui上
Layout->addWidget(ScrollBar, , );
setLayout(Layout); connect(ScrollBar,SIGNAL(valueChanged(int)),this,SLOT(SB_value_changed(int)));//连接信号,值一变就输出
} Dialog::~Dialog()
{
delete ui;
} void Dialog::SB_value_changed(int a)
{
qDebug()<<a;
}
————————————————————————————————————————————————————————————
QSlider相比而言,
多出了tick(记号,翻译成刻度比较好),它在中心线的两端加了刻度用于标记值。
公有函数如下:
<span style="white-space:pre"> </span>QSlider(QWidget * parent = )
<span style="white-space:pre"> </span>QSlider(Qt::Orientation orientation, QWidget * parent = )
<span style="white-space:pre"> </span>~QSlider()
void setTickInterval(int ti)//设置刻度间隔
void setTickPosition(TickPosition position)//刻度位置,枚举值,见下方
int tickInterval() const
TickPosition tickPosition() const
刻度位置的枚举值enum QSlider::TickPosition
QSlider::NoTicks | 0 | 无刻度,默认 |
QSlider::TicksBothSides | 3 | 中线两端绘制 |
QSlider::TicksAbove | 1 | 绘制线的上方 |
QSlider::TicksBelow | 2 | 线下方 |
QSlider::TicksLeft | TicksAbove | 线左方 |
QSlider::TicksRight | TicksBelow | 线右方 |
设置刻度后图:
代码:
Slider=new QSlider;
Slider->setOrientation(Qt::Horizontal);
Slider->setTickPosition(QSlider::TicksAbove);
Slider->setTickInterval();
其它常用函数及信号都来自抽象类,这里不赘述
————————————————————————————————————————————————————————————
QDial同Qslider类似,也多了个notch(刻痕)的概念
公有函数如下:
QDial(QWidget * parent = )
~QDial()
int notchSize() const
qreal notchTarget() const
bool notchesVisible() const
void setNotchTarget(double target)//notch target指两刻度之间的像素距离,默认3.7px
bool wrapping() const
公有槽:
void setNotchesVisible(bool visible)//设置刻痕是否可见,默认不可见
void setWrapping(bool on)
wrap有缠绕,盘绕的意思,可理解为首尾相接,设置成true(左)与不设置false效果分别如下:
Qt Widgets——抽象滑块及其继承类的更多相关文章
- Qt Widgets——抽象按钮及其继承类
QAbstractButton是有关“按钮”的基类 描述了一个按钮应该具有的组成.它的公有函数如下: QAbstractButton(QWidget * parent = ) ~QAbstractBu ...
- Qt Widgets——抽象旋转框及其继承类
默认外观分别如下(win7,与上述顺序对应): 可看出,都是由一个可编辑的文本框及右端小箭头组成 QAbstractSpinBox 属性简单解释如下: Properties accelerated : ...
- Qt Widgets、QML、Qt Quick的区别
Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...
- Qt Widgets——主窗口及其主要组成部分
Main Window and Related Classes QAction 动作类,用于当做一个菜单项或工具项插入菜单或工具栏 QActionGroup 动作组,用于管理多个动作,设置它们之间的互 ...
- QEvent整理归纳:140种类型,29个继承类,7个函数,3种事件来源
140种事件类型: QEvent::None QEvent::AccessibilityDescription QEvent::AccessibilityHelp QEvent::Accessibil ...
- Asp.net MVC中三大描述对象之ActionDescriptor 以及继承类ReflectedControllerDescriptor
ActionDescriptor抽象类中几个基本的属性: ControllerName:被描述的Controller名称,去除后缀Controller的名称.例如:HomeController则为Ho ...
- 【QT相关】Qt Widgets Module
Qt Widgets Module:提供了一些列UI元素. 使用: //头文件包含 #include <QtWidgets> //链接模式,在.pro文件中添加行: QT += widge ...
- Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .
文章来源:http://blog.csdn.net/ccf19881030/article/details/18220447 问题一:错误:C1083: 无法打开包括文件:"QApplica ...
- python定义接口继承类
zxq547 python定义接口继承类invalid syntax解决办法 1 2 3 4 5 6 7 class s_all(metaclass=abc.ABCMeta): #python ...
随机推荐
- jdk1.8和tomcat9.0、maven3.5.0配置教程
一.jdk环境变量 JAVA_HOME :C:\Program Files\Java\jdk1.8.0_77(这个是你安装JDK时的路径,按照实际情况改成你自己的目录) CLASSPATH: .; ...
- SSH KEY 设置 目录在open ~ 根目录下的.ssh 里面
当我们从github或者gitlab上clone项目或者参与项目时,需要证明我们的身份.github.gitlab支持使用SSH协议进行免密登录,而SSH协议采用了RSA算法保证了登录的安全性.我们要 ...
- C++.构造函数(超出范围)_01
环境:Win7x64.Qt5.3.2 MSVC2010 OpenGL.vs2010 1.ZC:在 构造函数 中,基类访问子类的成员 会报内存错误,如果访问的是 基本类型的话(如int) 可能还不会出错 ...
- cocos2dx 3.x 集成protobuf
vs2013+cocos2dx 3.13.1 这篇博文是集成Lua版本的protobuf,集成C++版本的过程也可参考. 主要参考博文地址<cocos2dx 3.x C++搭建protobuf环 ...
- Codeforces 1073 E - Segment Sum
E - Segment Sum 思路: 数位dp 我们平时做的数位dp都是求满足条件的数的个数, 这里要求满足条件的数的和 只要在原来的基础上求每一位的贡献就可以了,所以传参数时要传两个 代码: #p ...
- 全栈性能测试修炼宝典--Jmeter实战(三)
JMeter体系结构 1.JMeter体系结构 (1)名词解释 元件:JMeter工具菜单中的一个子菜单,比如HTTP请求.事务控制器.响应断言就是一个元件. 组件:一组元件的集合,比如逻辑控制器中有 ...
- [Spring] 关联类和bean | autowire=byName|byType
ref:https://www.tutorialspoint.com/spring/spring_autowiring_byname.htm project:Working Set: Spring&g ...
- top 内存mem的used很高,或者100%
top 内存mem的used很高,或者100% Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高 ...
- 20165327 2017-2018-2 《Java程序设计》第4周学习总结
20165327 2017-2018-2 <Java程序设计>第4周学习总结 教材内容总结 第五章 继承是一种由已有的类创建新类的机制. class 子类名 extends 父类名{ - ...
- Java接口简单理解
1.接口: 接口成员变量默认声明方式:public.static.final 接口成员方法默认声明方式:public.abstract public interface Interface_class ...