QT5——SpinBox、Double SpinBox 和Slider
来源:互联网 发布:unity3d怎么做建筑 编辑:程序博客网 时间:2024/06/08 00:13
SpinBox、DoubleSpinBox、Slider三个控件的基本介绍不在这儿细讲,网上有很多相关的概念,这篇文章主要介绍,三者之间的信号槽设置。
首先创建Qt5的Gui项目,
如图:
然后鼠标双击mainwindow.ui,进入页面设计界面,在选择右侧的工具栏,选择空间SpinBox,DoubleSpinBox,Horizontal Slider,构建出如下布局:
创建完这四个空间后,可以更改空间的对象名称,便于调用。
首先确定要实现的信号槽目标:
1、改变spinBox,HorizontalSlider的值改变;改变HorizontalSlider的值,spinBox的值改变
2、改变doubleSpinBox,HorizaontalSlider_2的值改变;改变HorizontalSlider_2的值,DoubleSpinBox改变。
首先先介绍最简单的信号槽设置方式,以spinBox、HorizontalSlider为例,在设计界面,点击
添加SpinBox和HorizontalSlider的信号槽映射,
如图
点击确定后,就建立了HorizontalSlider到SpinBox信号链接,同样地,建立Spinbox到HorizontalSlider的连接。
最终显示如图:
点击左侧运行,可以看到结果:
接下来,介绍另一种信号槽设置方式,
打开mainwindow.h,
添加如下代码:
private slots: void slotDoubleSpinbox_slider(); void slotslider_DoubleSpinBox();
因此,最终的mainwindow.h的文件如下:
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private: Ui::MainWindow *ui;private slots://槽函数声明 void slotDoubleSpinbox_slider(); void slotslider_DoubleSpinBox();};#endif // MAINWINDOW_H
声明完槽函数,就需要对槽函数进行信号连接,打开mainwindow.cpp文件,在mainwindow构造函数中增加信号和槽的映射
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotDoubleSpinbox_slider())); connect(ui->horizontalSlider_2, SIGNAL(valueChanged(int)), this, SLOT(slotslider_DoubleSpinBox()));}
接下来,实现槽函数功能:
void MainWindow::slotDoubleSpinbox_slider(){ ui->horizontalSlider_2->setValue((int)(ui->doubleSpinBox->value()*100));}void MainWindow::slotslider_DoubleSpinBox(){ ui->doubleSpinBox->setValue((double)(ui->horizontalSlider_2->value())/100);}
至此,就建立了DoubleSpinBox和Horizontal Slider的信号槽,点击运行,可以看到结果:
- QT5——SpinBox、Double SpinBox 和Slider
- Qt slider和spinbox练习
- spinbox
- qt,spinbox slider
- QT 实现SpinBox与Slider相互控制
- Spinbox 实例
- spinbox.html
- spinBox的用法
- Python Tkinter Spinbox控件
- spinbox HTML源码
- Python GUI 09----Spinbox
- QML之SpinBox使用
- 小白学tkinter(Spinbox组件)
- Tkinter教程之Spinbox篇
- SpinBox引发的一个错误
- JavaScript制作的SpinBox插件
- Tkinter教程之Spinbox篇
- EMWin小工具(WIDGET)Spinbox
- js如何准确获取当前页面url网址信息
- JAVA中泛型和集成体系
- 什么时候选择LinkedList?
- 【面试题】剑指offer 16
- C++面试问题——整理篇
- QT5——SpinBox、Double SpinBox 和Slider
- 1003. Emergency (25) 最短路问题
- Hive编程指南05---Hive查询
- JAVA利用第三方平台发送短信验证码。
- Bootloader
- QT生成DLL,调用DLL
- Android之EditText禁止回车键换行
- Java For-each 和 Iterator异同点总结
- ubuntu在桌面添加应用的快捷方式