qt笔记之vs开发程序遇到的问题

车臣 车臣     2022-08-14     668

关键词:

转载: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>//通信套接字

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

 

webrtc笔记之十三:qt版peerconnection

...nection。一.环境WebRTC版本:2021.03.07的master分支,详见WebRTC笔记之二:编译Qt版本:Qt5.12.6VS2017二.效果客户端A客户端B 服务端: 与原生PeerConnection例子不同的是,客户端可以选择摄像头、分辨率、麦克风 查看详情

qt笔记之解决qt5.2.0和vs2012中文乱码

转载:http://bbs.csdn.net/topics/390750169 VS2012中文乱码1.方法一:包含头文件 1#include<QTextCodec> 1.......23QTextCodec*codec=QTextCodec::codecForLocale();//解决中文乱码45QStringtitle=codec->toUnic 查看详情

20171115-构建之法:现代软件工程-阅读笔记

代码复审的正确定义:看代码是否在“代码规范”的框架内正确地解决了问题。自我复审:自己vs自己,用同伴的标准来要求自己。不一定最有效,因为开发者对自己总是过于自信。如果能持之以恒,则对个人有很大好处同伴复... 查看详情

qt学习笔记-支持gif动画显示

写QT程序时遇到个问题,本机编译完成的应用程序的Gif正常显示,但移到开发板上,gif无法显示,最后发现是其实是插件的关系.在编译安装的路径中有一个plugins/imageformats里面是一些库文件。将imageformats这个文件夹复制到开发板的文件... 查看详情

qt基础之开发环境部署

将Qt5.6集成至VS2015摘要:由于VS2015不再支持addin,所以要用其他手段。这里给出64位系统下的安装步骤,32位类似。一、安装VS2015过程略。值得注意的是要选择需要安装的内容,既然要用Qt,那么C++相关的一定要选上,别的视需要而... 查看详情

麒麟系统开发笔记:在国产麒麟系统上使用linuxdeployqt发布qt程序(代码片段)

前言  在ubuntu上发布qt程序相对还好,使用脚本,但是在麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt发布qt程序。<br>补充  在ubu... 查看详情

qt5(vs2013平台开发)应用程序的发布

当你用 VS2013+Qt5+VSaddin开发一个 Qt 的应用程序之后,如何将此程序交给别人来使用呢?本文即描述这个问题。第一步:需要准备好VS2013 运行时的 dll,一共5个文件如果你是VS2013,则在这个目录(C:ProgramFiles(x86)Mi... 查看详情

qt+opengl开发环境的搭建

...配置环境后即可开发Qt界面程序参考技术A我自己学QT时的笔记,供参考QT下构建OPENGL开发环境首先在工程文件下加入环境配置 .proQT              += qt3support&#47;&#47;支持qt3支持QT        ... 查看详情

vs2017+qt开发添加新模块出现lnk2019问题

想在添加一个串口模块,现在发现加了头文件后只要一声明就报lnk2019,找到有效解决方法如下:转自https://blog.csdn.net/liulihuo_gyh/article/details/8181955VS+QT没有PRO文件的问题今天需要用到xml,#include<QDomDocument> 提示无法打开... 查看详情

《20171102-构建之法:现代软件工程-阅读笔记》

第四章 两人合作一. 代码复审  1.代码复审的定义:框架内正确解决问题。  2.代码复审的形式:自己 VS 自己           复审者VS开发者           团队 VS开发者  3.代码... 查看详情

qt之fiddler抓包

...t的网络库,说实话qt的网络库封装的确实比较好用,所以开发过程就有条不紊的进行着,一直也没有遇到什么比较大的问题,直到开发完大半部分网络模块,交 查看详情

2017.9.29-构建之法:现代软件工程-阅读笔记

1.代码复审的形式:自我复审,自己vs自己2.同伴复审,复审者vs开发者3.团队复审,团队vs开发者4.软件工程中最基本的复审手段:同伴复审5.代码复审的目的:(1)找出代码的错误(1)编码错误(2)不符合团队代码规范的地方... 查看详情

qt-vs-addin:qt4和qt5之vs插件如何共存与使用

...何分别使用他们呢?Qt4VisualStudioAdd-in:官网可以下载安装程序,qt-vs-addin-1.1.11-opensource.exeQt5VisualStudioAdd-in:官网可以下载安装程序,qt-vs-addin-1.2.2-opensource.exe笔者先安装了QT4的vs插件,再安装了QT5的vs插件。运行VS2 查看详情

使用vs2010开发qt程序的一点经验(转载)

...导读   相比于QtCreator,我更喜欢用VS2010来进行开发。虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手。其中最重要的一点是,有时候QtCreator报的... 查看详情

hi3516开发笔记:hi3516虚拟机交叉开发环境搭建之交叉编译qt(代码片段)

...#xff09;持续更新中…海思开发专栏上一篇:《Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、rootfs和userdata按照分区表烧写镜像》下一篇:《Hi3516开发笔记(八):Hi3516虚拟机交叉开发环... 查看详情

qt软件开发之入门基础--1.5开发第一个qt程序

1.5开发第一个QT程序在QT开发过程中,可以手动编写代码也可以使用UI设计师直接拖拽控件的方式编写界面和布局,在实际的开发过程中一般是两种方式结合使用,提高开发效率。1.5.1新建HelloQt工程本小节用一个简单的"HelloQT"程序... 查看详情

解决vs+qt不生成moc文件问题

使用VS的Qt插件进行Qt开发时,有时候会遇到不能生成moc文件的问题。  1.在工程中可以看到这个Generatedfiles目录下是有一个看似moc文件的文件,双击打开的话: 如果能正常打开,文件就能正常使用。2.选中没有生成moc文件的... 查看详情

qt软件开发之基础控件--2.2布局控件组

2.2布局控件组开发一个图形界面应用程序,界面的布局影响到界面的美观。前面的程序中都是使用UI界面拖控件,如果有多个按钮,会出现大小难调整、位置难对齐等问题。Qt提供的“布局管理“就很好的解决了控件摆放的问题... 查看详情