
Qt学习
SilenceHell
学生,希望能在csdn上学到知识。
展开
-
Qt编译没使用Q_OBJECT导致编译出错,然后加入后编译仍出错的解决方法。
这个问题,困扰我一下午,之前没加Q_OBJECT导致不能使用信号和槽功能,导致我的程序已知编译出错,后来发现加上后,还是不能编译成功,继续出错。最后在overfolow stack上面找到了答案。原因首先是编译时没加Q_OBJECT导致编译不通过,之后加了Q_OBJECT后再次编译还是出错是因为,程序编译时并没有重新运行QMake所以编译时Q_OBJECT还是没有加入到你的程序中。解决办法就是添加...原创 2018-07-09 10:08:27 · 1370 阅读 · 0 评论 -
Qt学习之发布
Qt发布的方式非常简单,只要简单的几句话就能解决。1.在release模式下编译工程。2.将release文件夹下的可执行文件.exe复制到我们想要的文件夹下例如C:\User\myname\Desktop\pp。3.打开QtCreator自带的Qt命令窗,比如我的是(Qt 5.6.3 32-bit for Desktop (MSVC 2013))。4.然后在上述打开的命令窗里面输入:(...原创 2018-10-09 16:54:45 · 133 阅读 · 0 评论 -
Qt问题之无法打开发布文件夹里面的exe但是在qtcreattor里面能够运行
最近写了一个Qt的控制界面,但是在Qt Creator运行没有问题,但是发布出来和直接在release文件夹里面运行exe却点击没反应。这个问题苦恼我很久,网上大多数是说差dll,但是我是不差dll的。最后发现是因为,我在Qt里面写了一个存储类,但是release文件夹里面没有dat文件,所以初始化读取dat文件失败所以一直无法运行,后来我将dat文件放入发布文件夹和release文件夹,之后...原创 2018-10-08 19:06:42 · 1212 阅读 · 0 评论 -
qt不同ui类之间的数据互访
由于控件处于不同的ui类中,且控件在ui类中是私有的,所以不能够直接进行互访,解决的办法有两个:1.相互指针引用,即在每个类中定义另一个类的指针并引用需要访问的那个类的指针。2.利用信号与槽的机制,将所需要的数据当做信号的参数传递到槽函数中。...原创 2018-10-05 16:42:41 · 2597 阅读 · 0 评论 -
打开一个Qt工程文件无法debug一直显示lauching Debugger
之前打开一个外来的工程文件,发现无法debug,窗口一直显示lauching Debugger就是无法开始。后来发现是因为build directory没有改边,release和debug文件被放到了默认的工程文件夹里面去了。只要改变build directory到外来工程所在文件夹,然后从新qmake和build即可。...原创 2018-10-05 16:38:55 · 6205 阅读 · 1 评论 -
qt两个空间相互connect为什么不会造成死循环
刚写这个程序时确实觉得会造成死循环,但是仔细思考后发现并不会造成死循环。首先控件1的值改变带动控件2的值改变,然后由于控件2的值发生改变,带动控件1的值也跟着改变,但是由于控件2的值和控件1相等,所以控件1的值会不变,所以就不会在触发槽函数了。一个很简单的逻辑问题,一不小心就着道了。...原创 2018-10-05 16:35:07 · 320 阅读 · 0 评论 -
给数组直接复制字符串出错
char a[6] = "baga"上面这样是可以的。char a[6];a="baga"上面这样是不可以的。char a[6];strpy(a,"baga");要像上面这样才可以。原创 2018-10-01 20:11:07 · 290 阅读 · 0 评论 -
Qt 自定义dat格式文件存储(1)
要想写一个自定义结构体的存储文件,第一步就是创建自己的结构体,但是由于不同系统的存储方式是不一样的,所以我们不能准确的知道自己创建的结构体的大小,那么我们就不能正确读取自己写入dat文件的数据,所以我们需要保证我们创建的结构体的大小是已知且是不变的,这时我们需要用到#pragma pack() 预编译它的作用是:https://blog.youkuaiyun.com/Du_Shuang/article/de...原创 2018-10-01 15:06:34 · 3688 阅读 · 1 评论 -
Qt:error:Link 2019
一般产生这种错误的原因是在.h里面定义了某个函数,但是没有在.cpp里面实现该函数。转载 2018-09-13 16:54:09 · 583 阅读 · 0 评论 -
Qt:Link error 2005
当你第一个使用这个xxx.cpp 编译生成文件xxx.obj的时候,int i 在里面定义了 当另外一个使用这个的xxx.cpp 再次/单独的生成xxx.obj的时候,int i 又再次被定义然后两个obj被另外一个yyy.cpp也include 了这个头的,Link时,连接在一起,就会出现重复定义。其实只要有两个cpp同时包含了一个定义了变量的.h文件,就会提示错误。obj是什么?其实就是c...原创 2018-09-13 16:52:30 · 594 阅读 · 0 评论 -
Qt线程
以下结果经实验证明正确:1.在多线程中,主线程调用的子线程的函数全部在主线程运行,只有重写的run()函数是在子线程里面进行运行。以上为实验结果,可以看出主线程的线程ID为0x3394,在主线程中调用的两个子线程里面实现的函数运行时的线程ID与主线程的ID相同,只有run()函数里面的代码的线程ID为0x3bc8.具体实现代码就不贴了,太麻烦,此博客主要为以后复习提供帮助。...原创 2018-07-06 14:14:53 · 767 阅读 · 1 评论 -
Qt QString转换成char[]
本文转载于:https://blog.youkuaiyun.com/myfamily_it/article/details/81407114 这个问题是我在项目中遇见最简单,却调试时间最长的一个问题。下面我把我的解决方法发出来供大家参考。这是结构体定义。 typedef struct Perso...转载 2018-11-07 09:54:38 · 3645 阅读 · 0 评论