您的位置:首页 > 编程语言 > Qt开发

QT笔记之VS开发程序遇到的问题

2016-11-24 12:01 776 查看
转载:http://www.cnblogs.com/li-peng/p/3644812.html

转载:http://www.cnblogs.com/csuftzzk/p/VS_Qt_Experience.html

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

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

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

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

1.在vs2012里添加信号和槽

新建一个qt的项目QtDemo



在qtdeom.h里添加槽

private slots:
void Btn_OpenClick();


整体代码

1 #ifndef QTDEMO_H
2 #define QTDEMO_H
3
4 #include <QtWidgets/QMainWindow>
5 #include "ui_qtdemo.h"
6
7 class QtDemo : public QMainWindow
8 {
9     Q_OBJECT
10
11 public:
12     QtDemo(QWidget *parent = 0);
13     ~QtDemo();
14
15 private:
16     Ui::QtDemoClass ui;
17 private slots:
18          void Btn_OpenClick();
19 };
20
21 #endif // QTDEMO_H


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

1 #include "qtdemo.h"
2 #include <QMessageBox>
3 QtDemo::QtDemo(QWidget *parent)
4     : QMainWindow(parent)
5 {
6     ui.setupUi(this);
7
8 }
9
10 QtDemo::~QtDemo()
11 {
12
13 }
14
15 void QtDemo::Btn_OpenClick()
16 {
17     QMessageBox msg;
18     msg.setText("HelloWord!");
19     msg.exec();
20 }


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

我们在窗体上放一个PushButton



点击编辑信号槽



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



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



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



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

回到vs2012后F5运行



2.在Qt里添加信号和槽

打开 Qt Creator新建一个项目MyQtDemo





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

点击右键先把转到槽





打开转到槽窗体





点击clicked()点击确定

在mainwindow.cpp里添加QMesageBox

1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include <QMessageBox>
4 MainWindow::MainWindow(QWidget *parent) :
5     QMainWindow(parent),
6     ui(new Ui::MainWindow)
7 {
8     ui->setupUi(this);
9 }
10
11 MainWindow::~MainWindow()
12 {
13     delete ui;
14 }
15
16 void MainWindow::on_pushButton_clicked()
17 {
18     QMessageBox msg;
19     msg.setText("Hello Word !");
20     msg.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel);
21     msg.setDefaultButton(QMessageBox::Cancel);
22     msg.exec();
23 }


运行



2.用VS编程QT有关网络的Demo时遇到连接错误



有关网络的头文件都包含进来了

1 #include <QtNetwork/QTcpServer>//监听套接字
2 #include <QtNetwork/QTcpSocket>//通信套接字


但还是链接错误,应该是相应的库没找到,最后的解决办法是:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: