在Qt Creator 和在 vs2012 里添加信号和槽

作者:佚名 上传时间:2019-04-11 版权申诉

Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。

如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可以与函数(在qt里称做槽slot)相连接

可以把信号理解为c#里的事件

在vs2012里和在Qt Creator里添加信号和槽不一样,这里把两种环境下怎么添加详细说明一下

1.在vs2012里添加信号和槽

新建一个qt的项目QtDemo

在Qt Creator 和在 vs2012 里添加信号和槽

在qtdeom.h里添加槽

private slots:
         void Btn_OpenClick();

整体代码

#ifndef QTDEMO_H
#define QTDEMO_H

#include 
#include "ui_qtdemo.h"

class QtDemo : public QMainWindow
{
    Q_OBJECT

public:
    QtDemo(QWidget *parent = 0);
    ~QtDemo();

private:
    Ui::QtDemoClass ui;
private slots:
         void Btn_OpenClick();
};

#endif // QTDEMO_H

在qtdemo.cpp里添加实现,这里我们只是弹出一个QMessagBox

#include "qtdemo.h"
#include 
QtDemo::QtDemo(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    
}

QtDemo::~QtDemo()
{

}

void QtDemo::Btn_OpenClick()
{
    QMessageBox msg;
    msg.setText("HelloWord!");
    msg.exec();
}

双击qtdemo.ui打开qt设计师窗体

我们在窗体上放一个PushButton

在Qt Creator 和在 vs2012 里添加信号和槽

点击编辑信号槽

在Qt Creator 和在 vs2012 里添加信号和槽

点击PushButton手动红色箭头指向窗体

在Qt Creator 和在 vs2012 里添加信号和槽

点击QtDemoClass窗口下的编辑打开信号槽窗体点击添加把我们之前写的方法名称加到里边

在Qt Creator 和在 vs2012 里添加信号和槽

确定关闭后在配置连接窗体下点点击licked()和Btn_OpenClick()后确定

在Qt Creator 和在 vs2012 里添加信号和槽

点击保存关闭qt设计师窗体

回到vs2012后F5运行

在Qt Creator 和在 vs2012 里添加信号和槽

2.在Qt里添加信号和槽

打开 Qt Creator新建一个项目MyQtDemo

在Qt Creator 和在 vs2012 里添加信号和槽

点击mainwindow打开设计窗体在窗体上添加一个PushButton

点击右键先把转到槽

在Qt Creator 和在 vs2012 里添加信号和槽

打开转到槽窗体

在Qt Creator 和在 vs2012 里添加信号和槽

点击clicked()点击确定

在mainwindow.cpp里添加QMesageBox

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QMessageBox msg;
    msg.setText("Hello Word !");
    msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
    msg.setDefaultButton(QMessageBox::Cancel);
    msg.exec();
}

运行

在Qt Creator 和在 vs2012 里添加信号和槽

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Qt Creator vs2012
Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。 如点击一个QPushButton时,按钮会发送一个clicked(
Qt Creator vs2012
Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。 如点击一个QPushButton时,按钮会发送一个clicked(
Qt Creator的项目中头文件
在Qt Creator中的工程中,工程通过.pro文件管理。 额外需要连接的连接库 unix:LIBS += -L your_lib_
build qt vs2012
QT,编译QT,VS2012,英文利用VS2013编译QT
PDF
0B
2019-05-28 09:03
VS2012QT creator登录对话框设计
最近看《Qt教程及软件》学习QT,这本书的编程是在Qt creator上进行的,本人更倾向于在VS2012上进行开发,故根据自己实验中的经验,笔记一下在VS2012进行Qt编程的一些问题及解决方法,本
pdf
551.21 KB
2021-08-17 07:17
Qt学习笔记
槽和普通c++成员函数一样只可以为虚函数,也可以被重用,可以是公有的也可以是私有的,也可以被其它的c++函数调用; 参数也是任意的 唯一不同的是本槽和信号是可以连在一
Qt 机制局限性
当前服务器采用Qt开发,采用大量的信号和槽的机制进行通信。当然了出现了大量的问题,例如崩溃和无法服务的情况。因此在网上找了相关资料,记录一下。 通过传递一个信号来调用槽函
Qt 机制局限性
当前服务器采用Qt开发,采用大量的信号和槽的机制进行通信。当然了出现了大量的问题,例如崩溃和无法服务的情况。因此在网上找了相关资料,记录一下。 通过传递一个信号来调用槽函
的实现实例—— Qt Boost
Qt 的信号槽和 Boost.Signals 由于有着截然不同的设计目标,因此二者的实现、强度也十分不同。将二者混合在一起使用也不是不可能的,我们将在本系统的最后一部分来讨论这个问题
Qt地址簿-
addressbook.h: #ifndef __ADDRESSBOOK_H__ #define __ADDRESSBOOK_H__