QT中信号槽的断开

 分类:Others, Qt 阅读 (4,344)  No Responses »
2月 142019
 

对对象每次执行一次connect的操作,都会增加一个信号槽连接

如果我们想断开某个对象的所有信号槽,调用对象的disconnect()方法

如果想断开某一个信号槽,在connect时将返回的对象保存一下,然后调用QObject的disconnect()就可以了,如下面的代码:

dialog.cpp文件

dialog.h头文件

界面图片:

 Posted by on 2019-02-14

Qt中引用win32库的方法

 分类:Others, Qt 阅读 (5,768)  No Responses »
1月 282019
 

开发环境:QT+Vs2015

想使用SetCursorPos来控制鼠标的位置

#include <Winuser.h>

但是编译时,总时提示无法解析的外部符号

网上搜了一上,需要引用User32.lib库,最后发现需要在项目的.pro文件中加入user32的库的引用,如下:

如果编译还是不成功,把项目目录下生成的debug目录(build-xxxx-Desktop_Qt_5_10_1_MSVC2015_32bit-Debug)删除掉,再重新编译一下

 Posted by on 2019-01-28
1月 272019
 

  QLabel并不支持鼠标按下、松开等事件,我们需要新建一个QLabel的子类来支持。

  编写qadvancedlabel.h

  然后增加QAdvancedLabel的cpp文件,qadvancedlabel.cpp

  然后在程序中的实现:

  mainwindow.h文件

  mainwindow.cpp文件

  记得一定要设置setMouseTracking,否则只有按下时才会响应move事件。

 

 

 Posted by on 2019-01-27

qt中发送http请求

 分类:C++, Others, Qt 阅读 (5,208)  No Responses »
8月 172018
 

  在QT中发送http请求要使用下面的几个类

  • QNetworkAccessManager – 用于实际发送网络请求
  • QNetworkRequest – 用于构造http请求的内容
  • QNetworkReply – 用于构造http响应的内容

  首先要在项目文件里增加network的支持,在xxx.pro里面加上如下代码

  下面是具体的代码:

  logindialog.h

  logindialog.cpp

 

 

 

 Posted by on 2018-08-17

Qt生成uuid

 分类:Others, Qt 阅读 (2,971)  No Responses »
6月 252018
 

首选在mainwindow.h中加入头文件引用

然后在mainwindow.cpp的构造函数中加入下面的代码:

 

 

 Posted by on 2018-06-25
1月 182018
 

  C++出现: 1 duplicate symbol for architecture x86_64可能的问题如下:

  1. 你可能在一个头文件中定义了一个变量或者函数,但是这个头文件被多个cpp文件include了
  2. 你可能把一个静态变量(static)定义了多次
  3. 你可能在一个cpp文件中将一个函数定义了多次

  可以查看详细的错误信息,看看是哪个变量或者函数被重复定义了。

  本人这此遇到此问题是因为把一个静态变量的定义放在头文件里了,应该放到cpp文件里就没问题了。

 

 Posted by on 2018-01-18