QT 如何将spinbox和label中的文本建立信号槽连接 80

(或者如何将spinbox中的值与label显示的文本建立联系,做到改变spinbox值的同时在label中显示出来)... (或者如何将spinbox中的值与label显示的文本建立联系,做到改变spinbox值的同时在label中显示出来) 展开
 我来答
HSK972
2018-03-18
知道答主
回答量:1
采纳率:0%
帮助的人:892
展开全部

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();123

因此,最终的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_H123456789101112131415161718192021222324

声明完槽函数,就需要对槽函数进行信号连接,打开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()));
}12345678

接下来,实现槽函数功能:

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);
}12345678

至此,就建立了DoubleSpinBox和Horizontal Slider的信号槽,点击运行,可以看到结果:

追问
我问的是spinbox和label的连接,不是slider...
匿名用户
2018-03-18
展开全部
要按那个小网
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式