首页 Qt 学习之路 2 《Qt 学习之路 2》目录

《Qt 学习之路 2》目录

197 34

197 评论

小马 2012年9月1日 - 11:14

楼主的贡献是伟大的,致以崇高的敬意! 😎

回复
DevBean 2012年9月1日 - 13:52

谢谢了啊

回复
wxf 2012年10月22日 - 14:42

建议豆子增加构建qt5环境的文章。菜鸟表示搞不定。。

回复
DevBean 2012年10月23日 - 09:05

现在 Qt5 的 Beta 已经发布了,可以安装尝试下:http://releases.qt-project.org/qt5.0/beta1/

回复
www 2013年1月15日 - 17:53

不得不赞叹博主的奉献精神!向博主致敬!

回复
豆子 2013年1月16日 - 09:49

过奖过奖

回复
jinlingren1122 2013年1月30日 - 18:53

😉 太好了

回复
豆子 2013年1月31日 - 15:43

多谢!

回复
gavin 2013年2月1日 - 17:03

豆子你好,看了您这份教程有几天了,写得非常好。我自己也实现了一个简单的画板程序,但是不知道如何发布。程序只能在creator中运行,在debug或release文件夹中双击exe都会提示缺少dll,我就把缺少的dll都复制进去。然后双击exe,结果是什么反应也没有。以为是运行后瞬间退出,所以就在main.cpp中添加创建文件的代码,发现并非运行后退出,而是根本没运行,这是为什么?该怎么办?望指点。

回复
great 2013年2月3日 - 10:24

有GUI对吗?需要platforms插件 创建一个platforms文件夹 搜索一下qwindows.dll(release版本)或qwindowsd.dll(debug版本),复制进去就好了

回复
豆子 2013年2月5日 - 15:03

你说的是 Qt5 吗?Qt4 貌似是不需要的

回复
gavin 2013年2月11日 - 09:43

Qt 4 确实可以,但是对于5,将platforms放在exe同个文件夹吗,还是不行啊。我把整个plugins文件夹复制过来也不行

回复
豆子 2013年2月11日 - 16:27

两个都需要的,你可以看看文档:http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html

回复
豆子 2013年2月5日 - 15:05

如果依旧没有运行,尝试在 cmd 中运行,可能会有错误信息出现;如果是 Qt5,参考下 great 的回复?

回复
hang 2013年4月7日 - 22:57

太棒了!感谢主人花那么多时间精力分享学习过程,通俗易懂!

回复
unique 2013年4月9日 - 14:14

❓ 这些文章都太有用了,好好拜读。btw 我的问题是:我安装了qt5, creator里面写代码不能单步运行,提示调试器未设置。我在工具-选项-构建与运行中 看到貌似我机器里没有cdb调试器(“管理”)按钮时灰色的,怎么解决这个问题?不能单步运行太痛苦了。

还有一个不理解的地方,我下载了qt-vs-addin-1.2.0-opensource.exe(这个exe我之前运行过) 但是vs中仍然运行不了qt 提示没有设置version,怎么解决?

如果能出一个关于qt5版本的环境搭建的文章就好了!万事开头难啊!

回复
豆子 2013年4月9日 - 20:01

QtCreator 的 CBD 需要自己设置,可以查看文档:http://qt-project.org/doc/qtcreator-2.7/creator-debugger-engines.html;Qt VS Addon 添加之后,在菜单中有个 Qt 的菜单,里面可以设置 Qt 版本,你找找看。

回复
渡世白玉 2013年4月10日 - 10:47

😛 😛 😛 😛 😛
博主威武、、太需要了、、qt5现在几乎没什么中文资料,对于我这看到英文头痛的人来说,这是福利啊、、、

回复
Rui-huai Zhang 2013年4月24日 - 15:54

请问有没有打算写一些Qt5 Animation的东西呢?

回复
豆子 2013年4月25日 - 08:57

有是有,打算将这个系列做成一个全面的教程,不过最近在帮忙做一个网站,很少更新,等忙过一段落就好了的~

回复
Rui-huai Zhang 2013年4月25日 - 19:49

期待,支持!

回复
seeking 2013年4月25日 - 18:12

您好,我在Ubuntu12.04下就安装了qt-linux-opensource-5.0.1-x86-offline.run,测试运行根本就行不通。请问我还需要安装什么东西吗?

回复
seeking 2013年4月25日 - 22:25

您好,我在Ubuntu12.04下就安装了qt-linux-opensource-5.0.1-x86-offline.run,测试HelloWord运行出现如下错误提示:
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: Leaving directory `/home/du/FirstApp-build-Desktop_Qt_5_0_1_GCC_32bit-Debug'
make: *** [FirstApp] Error 1
22:21:36: 进程"/usr/bin/make"退出,退出代码 2
Error while building/deploying project FirstApp (kit: Desktop Qt 5.0.1 GCC 32bit)
当执行步骤 'Make'时。
请问我还需要安装什么东西吗?

回复
豆子 2013年4月26日 - 09:09

cannot find -lGL 错误信息是没有找到 GL 库,是不是没有安装 OpenGL 的开发库?

回复
豆子 2013年4月26日 - 09:06

这个我没有测试过,你到网上搜一下呢?一般而言只要安装了 GCC 就可以了,我记得 ubuntu 默认是不安装这个的。

回复
phnix 2013年4月26日 - 10:44

ubuntu下默认安装gcc,但只有c编译器,不带g++,g++要单独安装。 😀

回复
豆子 2013年4月27日 - 09:01

这个不大了解,之前一直使用的是 openSUSE。感谢告知!

回复
seeking 2013年4月27日 - 13:18

Ubuntu下我使用的是g++ 4.7

回复
seeking 2013年4月26日 - 12:23

实在是太感谢您了!一句话帮我解决了纠结几天的问题。这个错误就是因为没有安装OpenGL的原因。再一次的感谢您。

回复
Jakes 2013年4月26日 - 19:36

感谢你出的这系列教程。有没有兴趣搞QtQuick2的教程呢? 😛

回复
豆子 2013年4月27日 - 09:00

肯定会的,不过计划是放在 C++ 部分之后。

回复
lumm 2013年5月10日 - 14:53

谢谢小豆子

回复
JJLee 2013年7月31日 - 18:00

请问下楼主QT里面如何读写XML文件?希望楼主能给个思路,最后能够写了简单的小程序给我看看,万分感谢啦!邮箱:357059570@qq.com

回复
豆子 2013年8月1日 - 09:01

59 开始的几章都是关于 XML 的处理的部分,可以关注下

回复
JJLee 2013年8月1日 - 09:24

好的,那59是还没更新到吧

回复
豆子 2013年8月1日 - 15:22

现在第一篇就是59,目录刚刚更新

回复
JJLee 2013年8月1日 - 15:26

看到啦!楼主实在太好人,太感谢啦!

gengjiawen 2013年8月5日 - 13:46

请问有没有整理的pdf的文档啊

回复
豆子 2013年8月7日 - 11:22

这个目前还没有,不好意思

回复
tux 2013年8月12日 - 01:46

豆子老师你好(这里就先称您为老师),初学GUI 编程,当初知道qt跨平台于是就选择了这个,由于之前并没有学习过qt以前的版本,本以为qt想下兼容,刚才那个别人写的qt3的程序直接放到qt中,qt5 出现时间较短,市面有什么书籍?我应该如何去学习呢?一眼望去,qt 就是个庞然大物,怎样去下爪子呢?

回复
豆子 2013年8月12日 - 14:50

Qt3 和 Qt4 已经不兼容了(几乎所有的类都有重写,并且 API 也不兼容),Qt3 移植到 Qt4 有两种方法:第一,使用 Qt4 提供的 qt3support 模块,继续在 Qt4 中使用 Qt3 的类,不过所有的类前缀都要改成 Q3;第二,重新用 Qt4 的类重写程序。官方推荐重写代码,因为 Qt5 已经把 qt3support 移除了,也就是完全不支持 Qt3 的代码。由于 Qt5 目前市面上的书很少,并且 Qt5 与 Qt4 大致兼容,只需要少量修改代码,整体思路还是一致的,改进不如 Qt4 和 Qt3 那么激进,所以如果重头开始学习,直接学 Qt4 最好。相关书籍,比如官方推荐的《C++ GUI Programming with Qt4, 2nd Edition》就可以了。

回复
xuefu 2013年8月22日 - 19:12

豆子老师,你好。初学Qt4,写了一点GUI程序,想试试给这个小应用程序静态编译,不用Qt的SDK就能运行,网上找了好多教程都感觉好麻烦,还要先静态编译安装Qt,,,这里想请教一下,怎么在ubuntu 12.04下静态编译自己写的程序,,,会一点shell知识,希望能够像大多数开源软件一样能实现./configure;make;sudo make install三步安装。。。谢谢

回复
豆子 2013年8月23日 - 09:06

Qt 官网提供的二进制安装包都是动态链接的,如果你需要静态连接,必须自己编译 Qt。大致就是 CONFIG += staticlib 之类,按照网上教程应该就差不多了。至于为什么 Qt 不提供官方的静态库,主要是因为 Qt 的 LGPL 授权的限制。

回复
xuefu 2013年8月24日 - 15:25

谢谢豆子老师,Qt-4.8.5已经静态编译好了,参考网上的一个教程也能够静态编译自己写的程序,可是又出现了一个问题,因为用到了mysql,导致

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers:

这个怎么把QMysql驱动也编译进去啊?

回复
豆子 2013年8月26日 - 09:08

QMySql 的驱动默认不被编译,但是你可以在 src 文件夹下找到它的源代码,依然按照静态编译的配置单独编译这个驱动即可

回复
xuefenfg 2013年9月5日 - 19:51

p= new QMediaPlayer(this);
p->setMedia(QUrl::fromLocalFile(QDir::currentPath()
+"/release/backmusic.wav"));
p->play();
p->setVolume(100);

这是我播放音乐的代码,在Qt Creator里头能出声音。加入.dll后单独运行就不出声了。
请问是setMedia()有误吗?

回复
豆子 2013年9月6日 - 09:48

具体问题不大清楚,你可以试试输出路径看看对不对,或者是看看 dll 有没有成功加载

回复
恒古炎 2013年9月11日 - 18:59

豆子哥,我学习QMainWindow类的过程中添加了一个QWidget,为了先测试,这个QWidget是放在一个类的,同时也在同一个类里面定义了一个QPushButton和QLineEdit,然后我用布局把这两个控件加到了QWidget中,之后再把QWidget加到了QMainWindow,同时在构造函数中把click()作为信号,然后把setEditText()作为槽,但是程序运行说没找到按钮。
请问同一个类中放在不同容器中的控件就不能用信号槽吗?

回复
豆子 2013年9月12日 - 15:30

可以使用的,估计是别的什么问题。比如你在 QWidget 中的 button,在 QMainWindow 中的 connect() 函数应该改为 widget->button 等等问题

回复
莫上山 2013年9月23日 - 22:49

大神能不能分享一些qt5程序的源码,网盘之类上面,大家都能下载看看。。跪谢

回复
豆子 2013年9月24日 - 16:38

目前没有专门的 Qt5 代码,不过这里的代码应该都可以在 Qt5 编译的

回复
恒古炎 2013年9月27日 - 11:05

我想把exe文件给没有qt环境的电脑用 请问除了相应的头文件dll之外,还需要什么dll呢? os:win8 编辑器:qt createt

回复
豆子 2013年9月27日 - 14:18

你可以在文档中找到答案:http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html

回复
恒古炎 2013年9月27日 - 20:32

感谢 已经可以运行了,但是又出现一个问题。OTL,我的系统是win8 64位的,release版本只能在64位Windows成功运行,请问32位版本需要重新编译吗?

回复
豆子 2013年9月28日 - 15:13

是的,32 位和 64 位的应用必须编译两个不同的版本,这个是无法避免的,即便二者的编译器也是不一样的。在安装编译器的时候一般会有选项是安装 32 位版本还是 64 位版本

回复
小胖子 2013年10月3日 - 16:36

👿
开始学习QT
就跟着这个教程走了
希望能够有所收获。
谢谢豆子这么辛苦的写这个

回复
外星人 2013年10月4日 - 12:11

非常感谢。。。不过我下载的是QT5.1 这教程能用吗

本人菜鸟一个。。

回复
豆子 2013年10月8日 - 13:21

Qt5.1 和 Qt5.0 的代码是一致的,没有区别,可以正常使用

回复
jeeyoo 2013年11月5日 - 16:39

😛
豆子老师,请教您一个问题:
我在 .pro文件中 使用

DLLFiles.path = release
DLLFiles.files += $$PWD/dll/da.dll
INSTALLS = DLLFiles

本意是想把源代码目录里的dll目录下的dll文件拷贝到release中,但一直没有成功.请教豆子老师,该如何实现.

多谢~~

回复
豆子 2013年11月5日 - 19:30

这个我也不大清楚,你可以用 message() 函数输出下 $$PWD 的值看看对不对,然后把 release 前面也加上 $$PWD 做绝对路径试试看

回复
恒古炎 2013年11月8日 - 21:53

lol 《访问网络4》找不到页面了 不知道豆子老师收到了刚刚的回复没有

回复
恒古炎 2013年11月10日 - 21:08

请问Qt5怎么用QNetworkAccessManager 实现FTP?

回复
豆子 2013年11月11日 - 09:30

目前只能利用 QNetworkAccessManager 发送 FTP 命令自己解析。你可以继续使用 QFtp 类,这个类目前不随 Qt 发布,而是作为一个独立的模块,但是依然可以继续工作

回复
shicq 2013年11月18日 - 11:27

/home/shi/shipin/vlcdemo/demo-player/src/demo-player: error while loading shared libraries: libvlc-qt.so.0.8: cannot open shared object file: No such file or directory

/home/shi/shipin/vlcdemo/demo-player/src/demo-player exited with code 127

豆子老师,这个错误是什么原因?是我没有连接上VLC的库,还是工程文件的配置出现了问题.谢谢老师回答。

回复
豆子 2013年11月18日 - 11:35

看错误信息是没有找到 so 文件,请查下库路径是否正确?

回复
naifa 2013年11月26日 - 18:05

楼主。。之后会写qt quick的教程吗。。非常期待。

回复
豆子 2013年11月26日 - 18:50

肯定会的,可以先留言下看看需要哪方面内容

回复
naifa 2013年11月27日 - 09:23

从qt 5.2的改进就可以看的出来。。qt quick 目前是Digia 公司的做为核心推动发展的方向。以实现QT在移动平台跨平台,同时quick control部分也可以看的出来。之前的UI组件会慢慢往quick control转移上。QML是非常有潜力的UI语言。但目前QT QUICK还在完善中。目前中文学习资料比较少。对于我们这种E文是小白的人来说。学习起来就比较痛苦了。。希望楼主能多一些这样的教程。。也非常感谢有楼主这样奉献精神的人。

回复
豆子 2013年11月27日 - 15:25

是的,Qt Quick 的确作为未来的重中之重,所以在后面的章节中也会详细介绍的。按照计划应该是在线程部分结束之后。

回复
2013年12月6日 - 16:23

你好,我在openSUSE13.1上安装了
**qt-linux-opensource-5.1.1-x86-offline.run**,结果发现在*Qt Creator*及编译生成的程序中都无法输入中文。我使用的是fcitx输入法。网上说是要安装qt5的相应组件,不过openSUSE好像没有与之对应的**fcitx-qt5**。我尝试编译从GitHub上下载的源码,不过无法通过编译,显示

CMake Error at CMakeLists.txt:27 (qt5_wrap_cpp):
Unknown CMake command "qt5_wrap_cpp".

的错误。我发现您也好像在用openSUSE,所以在此提出这个问题,望解答,谢谢!

回复
豆子 2013年12月8日 - 11:22

Qt5 的中文输入好像有问题,这个具体没有测试。不过有人说用iBus貌似可以,你尝试下看看呢?

回复
2013年12月8日 - 11:52

IBUS倒是能用,不过也仅限于此了。openSUSE的Factory源中有“fcitx-qt5”,不过安装后问题照旧,还是耐心地等待吧。

回复
豆子 2013年12月9日 - 10:27

嗯,Qt5 现在版本太新,可能会有一些兼容性的问题。

回复
星弦雪 2013年12月6日 - 16:24

学习了,感谢楼主

回复
Charles 2014年1月8日 - 11:14

豆子,想用qt5做类似qq的界面,咋玩

回复
豆子 2014年1月9日 - 16:45

QQ 类似的界面是 DirectUI 技术实现的,你可以看看这种方法。只不过所有控件要自己绘制,会很复杂。

回复
Pandorym 2014年1月10日 - 02:42

我想实现以下功能:
首先是输入x、y;
然后绘制x*y个白色矩形;
点击白色矩形后,白色矩形会变为红色。

思路是有一个x*y的布尔数组,值为True时是白色,为False时是黑色,
而点击变色就是在点击矩形是对 !(对应的变量)。

非常希望豆子能給一小段代码以作示范。

回复
豆子 2014年1月10日 - 10:49

你的需求不大清楚,不过如果只是单纯的色块的话,使用 QGraphicsRectItem 会更简单一些。将其按照 x、y 的值进行排列。QGraphicsRectItem 可以添加一个 checked 标记位,用于记录是不是被点击。重载 QGraphicsRectItem 的 mouseReleaseEvent() 来响应鼠标单击事件,并设置自己 checked 标记位,根据这个标记位的值来设置 QGraphicsRectItem 的颜色即可。类似的,你也可以通过自定义 QPushButton 来实现(好处是 QPushButton 有自己的 clicked 信号,所以不需要重写 mouseReleaseEvent() 了)。

如果你必须使用 paintEvent 函数自己绘制这些矩形的话,可以选择一个 QRect 二维数组来记录数据,并且给其中每一个 QRect 一个标记位,然后将这个 QRect 数组绘制出来(每个 QRect 都保存了每个矩形的坐标和大小,所以很容易绘制)。当点击发生时,更新对应 QRect 的标记位(可以使用计算几何算法,利用取模运算获得鼠标点击的点位于哪一个矩形中),然后利用 repaint(QRect) 函数仅重绘该矩形的范围即可(当然也可以全部重绘,但效率显然不如部分绘制)。

总之,个人感觉实现思路主要是要把数据(记录标记位)和显示分开。如果按照你给出的解决方案也是可行的,但是需要维护一个 BOOL 数组,不如把每一个看作对象,每个矩形仅仅维护自己的标记位更清晰,实现起来也更简单。

回复
Pandorym 2014年1月11日 - 00:04

谢谢豆子百忙中給我帮助,
我在努力地理解。
最近家里出了些事,
有问题再来麻烦豆子。~

回复
Pandorym 2014年1月25日 - 13:57

void GraphicsRectItem::mouseReleaseEvent(QGraphicsSceneMouse* event)
{
Mark=!Mark;
if (Mark)
setBrush(Qt::blue);
else
setBrush(Qt::black);
}

为什么点击后不会变色呢?

回复
逆、光 2014年2月16日 - 14:31

请教豆子,能不能详细写个文档,关于 发布Qt程序的?

回复
豆子 2014年2月16日 - 19:10

有关发布的内容会在后面详细说明,不过可以先通过文档来了解下:https://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html

回复
tang 2014年3月22日 - 23:10

想自学Qt,看到了你的教学博客,真是太感动了!
一个晚上精读了前7篇教程并上手写了写代码,很受用。
我往后点了几篇先扫了一眼(看了7-10),感觉在你的教程中没有怎么介绍Qt Creator Design,以及用它构建GUI的过程。没有过多的介绍,是因为它不好用么?还是其他的什么原因?毕竟拖拽控件直接画界面感觉还是最方便的。

回复
豆子 2014年3月24日 - 13:52

是的,不过 Designer 一般比较简单,也不大好说什么。所以先把 Designer 一段略去了。文中大部分都是手写代码,这样控制起来比较方便,而且便于展示代码。

回复
tang 2014年3月24日 - 21:27

习惯了visual studio一拖控件,双击进入默认事件代码,没写过GUI也可以瞬间开发出原型,相比觉得Designer还是不够爽啊。

回复
豆子 2014年3月26日 - 13:07

Designer 基本也可以这么开发的,实际上还比较方便。

回复
razoryan 2014年3月26日 - 10:07

感谢豆子,一直在学习你的教程,收获很多。现在我遇到一个问题,要在MFC中调用Qt生成的dll文件,按照qtwinmigrate-2.8-opensource中的方式成功了,可是放到没安装Qt的电脑上却调用不成功,请问该怎么解决呢?

回复
豆子 2014年3月26日 - 13:23

这个没有测试过,不过是不是要把 Qt 的依赖库都复制过去呢?不要忘记还有用到的各种插件之类的。

回复
UFO 2014年3月27日 - 23:36

非常感谢豆子兄弟的教程,使我这样初学QT并且直接学习QT5,而且英语超烂的人有了明灯!
豆子兄弟后面是否会写如何创建自定义控件啊?
小弟实在太愚笨了,看了C++ GUI QT4编程(第二版)和精通QT4编程(第二版)相关篇章,可还是没能搞懂如何创建自己的控件 :(。
希望豆子兄弟能为小弟开窍,万分感谢!

回复
豆子 2014年3月28日 - 09:41

首先你要明确自定义控件需要提供哪些功能,然后把这些功能添加到控件中,以后就可以使用这个控件了。多练习一下其实也不是那么麻烦的。

回复
2014年4月13日 - 18:29

豆子大师你好,看了你的学习之路受益匪浅,毕业设计也选了用Qt做一个麻将游戏,不过说来惭愧,之后在大四因为提前工作的原因中没有继续学习,目前到了写完贪食蛇游戏的阶段,想请问一下我做这个游戏需要的掌握的内容(大概就是简单界面与简单逻辑),以及这个做得话会不会在我预料之外的困难,我也就询问一下老师能不能改题目。在此谢过

回复
豆子 2014年4月14日 - 10:52

简单的话应该问题不是很多,主要是 Graphics View Framework 使用熟悉就好了

回复
青天揽日月 2014年4月30日 - 14:08

豆子啥时候出版这本书?为了感谢,我肯定买一本:)

回复
豆子 2014年5月5日 - 15:48

感谢支持!目前还没完成 ;-P

回复
lpxxn 2014年5月23日 - 15:38

你好,我是qt新手用的是qt5 在 学qt自定义插件的时候总是不成功,
找到的例子好多都是让重新编译qt

请指点一下

回复
豆子 2014年5月27日 - 09:14

Qt 5 的插件机制与 Qt 4 不一样,可以看看 Qt 5 的 plugin 相关文档。

回复
lidongen 2014年5月25日 - 18:27

豆子高手,您好!
有个问题要请教一下,我在Qt-creater中点击应用程序的界面文件xxx.ui,出现runtime error 后Qt creater 自动关闭。 即使重装Qt后,新建一个应用pro,双击其mainwindow.ui时,问题还存在。 有什么解决办法呢?

回复
豆子 2014年5月27日 - 09:20

应该是 IDE 哪里出了问题?具体还真不知道该怎么解决。或许你将程序完全退出之后,将遗留文件全部清除试试。

回复
zhjx922 2014年5月26日 - 09:41

多出点QML相关的吧,出书也行,哈哈

回复
豆子 2014年5月27日 - 09:20

QML 会在以后都是重点,目前由于书稿的原因更新比较慢,见谅 ;-P

回复
zhjx922 2014年5月27日 - 11:41

出吧,到时候买一本支持你,O(∩_∩)O

回复
darkhandz 2014年7月3日 - 08:44

等着你的书

回复
darkhandz 2014年7月28日 - 14:21

豆子老师你好,我把你的Qt学习之路:从入门到精通 60篇 全部复制整理成一个PDF了,是比较精美的版本,而且自己也校对纠正一些错字,代码字体格式也整理好的,想发出来共享给大家,每一页的页眉都注明了出处,差附上你51cto的博客地址,首页也写上了你的名字及你现在这个博客的链接。
现想征得你同意再发出去共享,如果你不同意那么我就自用不发了,望回复。

回复
豆子 2014年7月28日 - 22:14

可以的,感谢支持!不过现在还有很多内容没有完成,没准儿之后还得劳驾再次帮忙修订一遍了 ;-P

回复
durrrr 2014年8月20日 - 19:55

感谢博主!受益匪浅!

回复
NeverMore 2014年9月21日 - 01:09

为什么访问您的网站经常要挂代理才上的去。好纠结。

回复
豆子 2014年9月21日 - 10:24

不好意思,服务器提供商换过主机后,连接一直不稳定。以后考虑换回国内主机。对您造成不便敬请谅解。

回复
IceSoul 2014年10月5日 - 18:16

归档序号错乱了,昨天还好着,不知道作者修改了什么

回复
豆子 2014年10月6日 - 17:02

可以详细说明一下吗?最近一直没有任何修改

回复
fzyz_sb 2014年11月10日 - 14:02

楼主,我想请教你一下,你是参考C++ GUI QT 4这本书吗?我准备看完你的教程,再看看这本书。

回复
豆子 2014年11月12日 - 14:41

大致是参考这本书的,不过也有一些修改,所以谁先谁后都没有关系的。因为这本书主要是 Qt 4 的,本文主要添加了有关 Qt 5 的内容。

回复
jacket 2014年12月30日 - 22:08

楼主,我点“订阅”的时候(用了上面的那个邮箱), 总是提示我“已经订阅过了”,但实际上我还是没有订阅到~请问该怎么办呢?

回复
豆子 2014年12月30日 - 22:15

您使用的是哪个邮箱?具体原因我也不大清楚,试试先把邮箱移除再重新订阅下?

回复
王大贵 2015年1月13日 - 21:20

正在学习中,非常给力,感谢豆子的无私奉献
另外非常希望豆子能做一期关于multimedia的专辑,现在去网上搜索QT视频/音频制作内容,大多数都是Qt5废弃的phonon

回复
mseyj 2015年1月17日 - 10:12

没有QSerialPort相关的,最近我用5.3.2里的串口类读取数据,在子线程中每次readAll时程序就崩掉了,数据量比较大,下位机是一直在不停的发送数据包的,求楼主指点

回复
Ghost 2015年1月19日 - 18:58

老师您好,我有个问题想请教一下,我的程序在自己的电脑上(win7 64位)可以开机自启动,到别的电脑上(xp 32位)可以手动打开并正常执行,却不能开机自启动,报错提示this application failed to start because it could not find or load the Qt platform plugins "windows"。网上看到别人说要放入libegl.dll、libGLESv2.dll等,但是结果还是一样,实在是百思不得其解,不知道该如何处理。还希望老师能百忙中抽点时间指导一二,非常感谢!

回复
豆子 2015年1月21日 - 14:56

仅就 Qt 本身而言,自启动与手动启动没有任何区别。所以现在不知道是因为什么原因导致 windows 平台插件没有加载。方便的话可以将程序发送到邮箱以便解决。

回复
Ghost 2015年1月27日 - 09:30

老师好,我问的问题没有叙述正确,要问的应该是在WIN7系统下的Qt所编译的release版本的程序在别的电脑上无法开机自启动,找了好久终于找到原因了,是因为我没有在别的电脑上配置环境变量。谢谢老师的回复!

回复
Luckyqiao 2015年1月26日 - 22:41

请问博主知道如何以绿色软件的方式发布Qt编写的程序吗?感觉Qt5的动态依赖库又多又大,发布程序很不方便。

回复
豆子 2015年1月27日 - 09:16

只需要将所需要的全部 dll 与 exe 放在同一目录下(插件需要保持目录结构,比如 plugins 和 platforms)就可以直接运行了。

回复
Luckyqiao 2015年1月28日 - 21:37

可不可以把所有的文件编译到同一个exe中呢?

回复
豆子 2015年1月29日 - 11:33

那需要自己静态编译 Qt,然后重新编译应用程序就可以了。

回复
mhxy3deng 2015年3月3日 - 21:09

豆子老师,你好,我看了你这个QT学习之路很久了,最近遇到一个问题,就是想通过QT发送信息到网站(如:百度),并在网站上查询该信息,把获得的信息在QT中显示,我应该从哪里开始着手?

回复
豆子 2015年3月9日 - 14:13

使用QNetworkAcessManager进行网络访问,一般拼接字符串,然后添加 get 或 post 数据即可,可以参考下QNetworkAcessManager的相关文档

回复
Ghost 2015年3月9日 - 15:39

老师好,请问一下Qt可不可以获取当前打开的网页的网址?比如我用360浏览器打开了www.baidu.com,Qt能否获取www.baidu.com这个网址呢?可以的话应该用什么方法?谢谢!

回复
豆子 2015年3月11日 - 11:04

这个不大清楚,个人认为是不可以直接获取的。或者有一种方法,监控系统 80 或 443 端口,不过不知道能不能成功

回复
mhxy3deng 2015年3月12日 - 21:11

豆子老师你好,我现在又有另外的问题了。在QT5中使用了第三方库,还能够静态编译吗?要是不可以的话,进行静态编译需要满足什么条件?

回复
shylock 2015年3月24日 - 11:02

豆子啊,用qt下载碰到Content-Disposition:要怎么解决?比如 http://red.protexis.net/d.aspx?i=4941669c-091f-433e-8506-cb2ff456b30c&; 这个链接。

m_Qxhr = new QNetworkAccessManager;
QNetworkRequest req(url);
m_Reply = m_Qxhr->head(req);
connect(m_Reply, SIGNAL(finished()), this, SLOT(GetHead()));
我是先这样用head获得length和文件名,但是这样得到的content-length比实际的文件小,比如这里得到的Content-Length: 855000,而实际的文件大小是Content-Length:1772960。
然后再用下面的slot去get。
void GetHead(){
QNetworkRequest req;
req.setUrl(url);
m_Reply = m_Qxhr->get(req);
connect(m_Reply, SIGNAL(readyRead()), this, SLOT(ReadyRead()));}

结果是下载的时候因为Content-Length的原因会截断,只下载855000就发出finish信号了。
我在get之前尝试用req.setHeader();设置content-length,结果设置失败了。请问要怎么才能下载Content-Disposition这种的呢 ?

回复
豆子 2015年3月27日 - 11:14

这个不大清楚,试一下 setRawHeader 这个函数看看能不能成功?

回复
shylock 2015年3月27日 - 16:59

找到原因了
Qt在发request的时候是默认加User-Agent:Mozilla/5.0,大部分服务器都是支持这种设置的。但是我前面发的那个链接服务器设置比较特殊,验证User-Agent的时候必须要系统信息。
所以代码里在发request的时候需要显示设置req.setRawHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1)");

回复
lhcy 2015年3月30日 - 10:58

豆子老师,您好,我用treeview写一个文件目录树,想实现点击目录树上的节点,显示出节点的文件名和路径,这是槽:
void MainWindow::on_treeView_doubleClicked(const QModelIndex &index)
{
QFileSystemModel model;
QString filename=model.fileName(index);
//QString filepath=model.filePath(index);
qDebug()<<filename;
//qDebug()<<filepath;
}
现在点击节点能获取到文件名,但是点击节点显示路径却出错,获取不到,这是为什么呢?
CSDN上也有个和我一样的问题:http://bbs.csdn.net/topics/390125792

回复
xyyiii 2015年3月31日 - 02:48

非常感谢。。。。

回复
lxg 2015年4月1日 - 15:37

一直以为qt是directui,颠覆了...
难道不是createwindow创建了主窗口,其他子窗口是直接画上去的?

回复
豆子 2015年4月8日 - 09:22

目前没有找到资料说 Qt 是 DirectUI,个人感觉是 Qt 并不是完全重绘,而是自定义了组件的外观,这个待议

回复
Charis Chen 2015年4月9日 - 22:27

豆子,问问你噢,有没有一本像C++ GUI Qt4这样比较好的Qt5的教材呢?求推荐~~

回复
心魔 2015年4月14日 - 17:24

楼主,怎么没有一些窗口动画的教程啊

回复
豆子 2015年4月21日 - 12:27

哪方面的窗口动画?

回复
心魔 2015年4月21日 - 14:55

比如说窗口弹出的曲线动画,然后dialog或者在GraphicsView当中的绕轴旋转(因为我自己在做绕对话框1/2宽度这个轴旋转没能实现),还有我自己想象的对话框点击关闭之后,整个对话框像气泡,或者玻璃一样破碎,渐隐的动画这三种

回复
杰克 2015年5月20日 - 21:48

豆子老师,您好,我想问下我在QT中进行VTK的编程,已在PRO文件中加入所需要的lib和includepath,但运行程序时它仍然爆这样的错误: error: undefined reference to `_imp___ZN25vtkRenderWindowInteractor15SetRenderWindowEP15vtkRenderWindow';
error: undefined reference to `_imp___ZN16vtkBalloonWidget10AddBalloonEP7vtkPropPKcP12vtkImageData';
error: undefined reference to `_imp___ZN11vtkRenderer8AddActorEP7vtkProp';
error: undefined reference to `_imp___ZN17vtkAbstractWidget23SetWidgetRepresentationEP23vtkWidgetRepresentation';等等。我在网上查了下,大部分说好像是VTK的库没加进去,但我在PRO加完了LIB呀。求解到底怎样能解决这个问题?

回复
豆子 2015年6月3日 - 09:46

这种问题一般都是因为环境问题,经常在别的机器上面无法重现。你可以使用绝对路径试试,先 clean 一下在进行编译。

回复
mmic 2015年6月26日 - 15:15

支持下, 感谢博主!受益匪浅!

回复
战旗美如画 2015年7月20日 - 17:10

豆老板,看了你的教程,已无法估的投入到了qt的怀抱,不过现在我刚开始,遇到了一些问题。
因为我在学习用 vim,所以希望能用vim编辑代码,但发现不用qt creator来写代码真的太麻烦了,因为写完代码之后要到控制台到文件所在目录,执行qmake -project来生成工程,然后在qmake链接,然后再编辑pro文件再最后面加上qt += widgets(否则在make的时候会出现fatal error: QApplication: No such file or directory错误),然后再把生成的exe文件复制到qt下面的bin目录里(否则直接双击无法运行程序,会出现接口错误)。是不是我哪里弄错了?我觉得应该不是这么麻烦的吧?

回复
豆子 2015年7月21日 - 09:16

不使用 IDE 的话的确需要这么多步骤,所以现在一般会使用脚本,写好脚本之后运行一下,可以让系统去做这一系列的工作。网上也有很多将 vim 打造成 IDE 的方法,可以参考一下。

回复
战旗美如画 2015年7月21日 - 09:18

谢谢豆老板,学习了~~~

回复
mark 2015年7月27日 - 22:11

QT怎么调用c语言写的函数啊?

回复
豆子 2015年8月1日 - 14:29

Qt 是 C++ 的,使用 C++ 的方式即可,具体来说就是放在 extern {} 块中。

回复
金龙 2015年7月31日 - 17:51

豆子最近有更新一些其他的么!感觉跟着你学还是蛮有效率的。

回复
豆子 2015年8月1日 - 14:42

有关 QML 的内容,网上有一系列不错的教程,可以参考下。原文地址是 http://qmlbook.github.io/,网上也有中文翻译,请自行搜索。

回复
蓝色 2015年8月4日 - 11:08

豆子您好,请教您一个问题,我如何才能创建dll共享库呢?

我直接在QT中创建,并直接编译,会要求我指定一个运行的EXE文件,然后并没有生成相应的dll文件

回复
豆子 2015年8月16日 - 13:13

将 pro 文件中的 TEMPLATE = app 改成 template = lib,编译出来就是共享库了

回复
lemon 2015年8月11日 - 18:59

豆豆,Qt中使QAxObject操作Excel,程序执行完后在资源管理器中有无数个Excel.EXE。相当于每操作一次就产生一个Excel.EXE。请教下该怎么解决

回复
豆子 2015年8月16日 - 16:18

这个没有测试过,是不是需要释放一下 ActiveX 对象?

回复
xieyang 2015年9月13日 - 17:41

刚刚发现豆子写的Qt学习之路,看起还很不错,加入收藏夹了。给作者点个个赞。

回复
豆子 2015年9月16日 - 09:40

多谢支持

回复
豆子 2015年9月16日 - 09:41

多谢支持!

回复
宋言 2015年11月3日 - 15:00

豆子好样的!已捐助。顺便提问:
我在qtcreator中该怎样调用第三方动态链接库呢?就是有.dll .lib和.h三个文件的那种。
谢谢!

回复
豆子 2015年11月4日 - 13:54

多谢支持!
不清楚你说的“在 Qt Creator 中调用第三方动态链接库”是什么意思?是让 Qt Creator 调用,还是通过 Qt 的应用程序调用?如果是后者,只需要修改 pro 文件,增加 LIBS += XXX 这样的语句即可,可以查阅下相关文档。

回复
宋言 2015年11月5日 - 10:26

额。。。我是初学者,不清楚二者的区别。。。
我现在是要用QT写个程序来读写excel。我找到了一个第三方的excel读写库,在visual studio中已经成功实现了我需要的所有功能。现在想把我写的函数放到GUI里面,然后发现visual studio中关于库的设置什么的在QT creator 中全都没有!(估计是我没找到)。。。

回复
豆子 2015年11月5日 - 10:30

这样的话就只需要在 .pro 文件中添加 LIBS 之类的语句,例如,需要链接 Iphlpapi.dll 时,添加 LIBS += lIphlpapi(注意 dll 名字前面有一个l)

回复
宋言 2015年11月5日 - 14:44

谢谢豆子哥!再次捐助!

刘杰 2015年11月28日 - 16:02

豆子哥,感谢您的伟大壮举的贡献。看来了你的教程,对于QT5的了解又深刻了一些。
目前正在一步一步学习中,我现在有一个问题就是对于QT5的软件打包问题:
我的打包步骤是:1、将.exe文件单独放在一个文件夹里
2、用depends进行查找所需的dll文件
3、包含MSVC的库文件,编译使用(我的编译器是VS2013)
4、包含paltforms底下的文件库
5、用单文件打包工具进行打包
对于一些简单的软件我测试是可以的,但是发现打包后软件都是几十M感觉太大!!!
然后我用depends检测时还发现了系统里我自己都没有的库文件,不知道这是为什么,这个库文件的名称是:
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
我不知道为什么用VS的编译器的时候会出现这2个编译库,我用everything查找了一下我电脑里就没有这2个库,不知道如何解决这个问题?
还有就是关于图片的问题,如果是资源文件,那些图标,是不是也要放到打包的文件夹底下?
另外就是一个数据库的问题,生成的数据库是在当前目录下,就是打包的文件夹里面,那么我在打包完以后就没法处理数据库的信息了,是不是改一下路径,改成打包以后的文件所在的目录下比较好,还是写死在一个文件夹底下比较好?

回复
豆子 2015年12月6日 - 20:10

1. Qt 的 dll 即便是 release 版本的也比较大,这个没有办法,可以试着用 ASPack 之类的压缩工具把 dll 压缩一下。
2. 关于那两个 dll,我没有遇到过,可能是引入了别的什么库吧。
3. 如果使用资源文件,图片会被编译成二进制的,所以,不需要打包一起发布。不过,如果是运行时加载的就必须打包了。
4. 数据库可以放在 exe 运行目录下比较方便,运行时获取自己的运行路径,或者直接放在用户目录下也是可以的。

回复
VINI VIDI VICI 2015年12月8日 - 15:19

豆子大神能不能写一写自定义控件的方法?网上好多方法用QT5都编译不通过啊

回复
豆子 2015年12月8日 - 16:12

关于什么的“自定义控件”?普通的话,就是继承 QWidget 这样的类就可以的

回复
VINI VIDI VICI 2015年12月8日 - 16:24

通过插件法自定义一个原来没有的控件。生成dll和lib后,拷贝到..\plugins\designer中,这时在QtDesigner中可以直接拖拽生成这个控件,但是编译会不通过,显示找不到头文件,将头文件拷贝到工程目录下会显示链接失败,将lib和bin也拷贝到工程目录和执行目录下,依然链接失败,请教是该怎么使用这个自定义的控件呢?

回复
VINI VIDI VICI 2015年12月8日 - 16:37

还有,我直接继承现有的控件,写了一个Qt GUI Class,且控件外观有修改,那么用QtDesigner画界面时,新控件的外观上的变化并不会显示出来,但手写代码的话就可以显示出新的外观,感觉很奇怪,是不是我哪里写的不对?

回复
一枚硬币 2016年2月24日 - 10:16

豆哥,我用QStyle的方式自定义QProgressBar,自定义的进度条是用来显示声音的进度值的。现在的问题是:我调节声音旋钮进度条可以显示出来,但进度条只能前进一次(进度条的数值是正确的),正确的现象应该是,每次调节声音旋钮,进度条应该前进一次。
我初步查看了一下,调节声音旋钮,进度条没有前进,是drawControl函数里的CE_ProgressBarContents项没有执行到,进度条前进了,就执行到了。请问这是什么原因?

回复
香儿光翟 2016年3月20日 - 23:49

豆子老师你好!
最近遇见一些问题,我又来请教你,希望能够得到回复。
最近刚刚看《代码本色》,写了一个关于小球在窗口中运行的简单程序,但是就这样出现了问题,我感觉小球似乎在闪烁,我百度之后,得到的是用双缓存技术来消除这种闪烁,为此,我又修改一下代码但是感觉还是没有什么效果,希望豆子老师在这里能帮我解决一下,谢谢!
下面是源代码:
Widget::Widget(QWidget *parent)
: QWidget(parent),pixmap(width(),height())
{

circle.x=width()/2;
circle.y=height()/2;
circle.xV=10;
circle.yV=20;
circle.radius=20;

timer=new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(step()));
timer->start(41);
setAutoFillBackground(false);

}

void Widget::step(){

if(circle.x+circle.xV+circle.radius>width()|| circle.x+circle.xV-circle.radiusheight() || circle.y+circle.yV-circle.radius<0)
circle.yV=0-circle.yV;

circle.x+=circle.xV;
circle.y+=circle.yV;
//参考网上的使用双缓存技术,虽然不知道对不对...
pixmap.fill(Qt::white);
QPainter painter(&pixmap);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(Qt::yellow);
painter.drawEllipse(QPoint(circle.x,circle.y),circle.radius,circle.radius);
update();

}

Widget::~Widget()
{

}
void Widget::paintEvent(QPaintEvent *e){

QPainter painter(this);
painter.drawPixmap(QPoint(0,0),pixmap);

}
谢谢!

回复
香儿光翟 2016年3月20日 - 23:50

setAutoFillBackground(false);这一部分应该没有的,希望豆子老师及时回复!

回复
豆子 2016年3月21日 - 13:01

从 cpp 文件中有些不知道是什么类型,最好把整个工程发送到邮箱

回复
精灵之影 2016年4月27日 - 14:46

豆子老师你好
我是初学者,想问一下,如果c++基础不好的话
能照你的教程学习QT吗
如果不行,推荐先学习哪些内容再学历你的教程呢?

回复
豆子 2016年4月27日 - 15:08

基础 C++ 必须要知道的,高级用法比如模板之类可以不了解。否则的话,学习 Qt 可能会比较吃力。可以从 C++ 基础开始学习,比如《C++ Primer Plus》之类的书籍都是很好的入门书。

回复
精灵之影 2016年4月27日 - 15:53

好的,感谢豆子老师的推荐

回复
想起 2016年7月14日 - 09:13

您好,我使用Qt有一段时间了。现在遇到一些问题:由于使用了Qt5.7里面的Qt3D模块,关闭主程序的时候会中断,提示Qt3DCored.dll的问题,0x0000005。不知道Qt3D模块能不能在三维空间画直线和多边形?包括凹多边形。谢谢豆子老师

回复
ccppaa 2016年8月20日 - 16:22

大神,用小票打印机打印出来的字体特别大,长,字体设置了QPrinter p;
QTextDocument doc;
QFont font = doc.defaultFont();
font.setFamily("等线");
font.setBold(true);
font.setPointSize(font.pointSize() + 2);
//font.pointSize()是11,
doc.setHtml(htmlString);
QSizeF s = QSizeF(p.logicalDpiX() * (58 / 25.4), p.logicalDpiY() * (297 / 25.4));
doc.setPageSize(s);
p.setOutputFormat(QPrinter::NativeFormat);
doc.print(&p);
这是部分代码,但是打印出来的字特别大长,用word 试了,打印机是正常的

回复
ccppaa 2016年8月27日 - 08:26

一直在试是哪里的问题,改用p.setPageSize(s)字号大小正常,但是位置特别偏,还用doc.的时候,改了一下s 中297,如620,820,1920字越来越正常,是不是因为电脑分辨率的问题,如果是因为这个,那该怎么设置让它在不同的电脑上都能正常显示

回复
ccppaa 2016年8月27日 - 16:39

字大小的问题解决了,是我设置纸张规格的问题,

回复
ccc 2018年8月11日 - 10:21

您好,请问您qt学习之路1的链接可以发一下吗?谢谢!

回复
豆子 2018年8月11日 - 20:31

第一篇的地址是:http://blog.51cto.com/devbean/193918
只是这部分都是 Qt 4 的,现在针对 Qt 5 的话很多内容都过时了

回复
xffish 2019年9月27日 - 07:11

竟然从2012年更新到2016年,太震撼了。感谢博主。

回复
yang 2019年12月8日 - 13:06

能否提供pdf或epub下载,谢谢

回复
豆子 2019年12月16日 - 10:11

目前我没有 pdf 或者 epub 的打包,不知道有木有别人生成过

回复
L_inkOO 2019年12月31日 - 00:00

博主你好!我学了C和C++还有数据结构,学习这些语言和算法的时候都是做的一些格式化输入输出的题,全部是依赖于控制台程序。现在想打算做一个带图形界面的程序,包含的算法是图论里的寻找两点最短路径。在知乎上看了大家的讨论,都说初入图形化Qt好上手,MFC、EasyX、WPF这些都很麻烦,但对我来说不管用什么做界面,都找不到思路。现在我做的这个程序已经能够在控制台的情况完美运行,只差GUI的实现了。
总的一句话来讲:我至今没有做过一个完整的图形化运行的程序,真的不知道怎么把一个控制台的程序变成带界面的东西。

照着Qt给的实例,或者GitHub上别人的完整GUI项目做一遍运行运行,感觉会了,一到自己做,没有任何提示任何思路,只有一个黑框框(控制台运行的程序),不知道怎么搞啊?

回复
豆子 2020年1月5日 - 16:17

既然你已经有个目标,那就照着这个目标去选择需要哪些技术才能实现。比如,你现在的程序已经能够在控制台运行,那么就考虑界面需要提供哪些参数来让你的程序能够运行?如果你的程序参数是通过命令行参数传入的,或者直接写死在源代码里面,那么就应该改造成接受参数。这样,界面就可以使用参数传入,从而复用你的程序。你现在的程序就是业务逻辑,界面用来展示业务,这样就实现了业务与展示的分离。一旦程序完成,那么就开始从最简单的角度入手,比如最短路径算法可能需要绘制地图。算法里面的地图可能使用二维数组存储,那么如何在界面展示这个数组?最简单的思路可能是元素 0 显示成路径,元素 1 显示成墙,类似这样。所以就可以考虑在 Qt 中按照这个二维数组的数据绘制地图。这就涉及到窗口绘图的技术。完成地图,那么你要考虑用户该怎么输入最短路径需要的两个点?当然让用户通过鼠标点击选择最好。这就需要 Qt 的鼠标事件处理。因此针对你的程序,可能仅仅为了图形化显示一个算法,那么可以从如何可视化显示你算法的数据、过程入手,考虑将算法中抽象的数组存储、每步的结果,使用图形显示出来。最终你将得到一个可视化的算法演示过程。然后你可能再需要菜单控制算法开始、结束等,这样就基本完成一个简单的程序了。如果感觉从绘图入口比较复杂,那也可以反过来,从菜单到绘制。总之不要既想做菜单又想完成显示,这样结构就会混乱了。

回复
forever 2020年6月2日 - 13:22

我觉得时熟练度的问题,如果你之前有过gui的经验,那么上手qt 应该非常快,正是因为你没有过类似的经验,不明白其中的运行大概时怎样的,组件都有哪些,怎么自定义自己想要的组件,又或者不明白了,怎么查找帮助文档,这些说起来就是经验和Qt 的基础的问题。就常理来看,我个人认为是如此的。(我搞那个tensorflow 目前状况跟你差不多,比你还差点,让我自己创建个模型,训练下,就完全不行,看到别人说的,啥都明白的样子,我觉得就是一个熟练度和基础的问题),慢慢来。

回复
cht 2020年4月16日 - 07:37

豆子老师,请问有没有关于QT上使用MODBUS的相关资料呢?

回复
豆子 2020年4月21日 - 13:30

目前我也没有相关资料

回复
wansst 2020年6月6日 - 16:43

单位里的项目刚用了 用qserialport
不过建议别用。。 因为出了问题 是这个库的bug 后来全改成了 windowsapi折腾了好久

回复
xdj 2020年6月27日 - 13:14

您好,我想请问一下,qt能否实现向matlab一样读取三维点坐标数据,画出散点图并连成线?谢谢。

回复
豆子 2020年7月27日 - 22:16

个人感觉是可以的,大概要用 QPainter 绘制吧

回复
初学QT怎么学? | Dotnet9 2020年7月12日 - 16:26

[…] 《Qt 学习之路 2》目录 […]

回复
金珣 2020年9月14日 - 20:02

豆子老师,请问一下 这个访问网络的源代码有吗?从delphi转qt看得有点吃力,有源代码吗。

回复
豆子 2020年9月15日 - 11:33

源代码部分有,一般在文末。如果没有的话可能是因为代码比较简单,按照文章中的代码片段组织一下就是完整代码,或者有的文件链接可能有问题,如果发现的话就及时留言处理下。

回复
rua 2020年10月4日 - 17:43

博主你好,我在使用qt时经常会莫名的出现编码错误,貌似是utf8bom 相关的原因,所报的错误是"常量中有换行符".请问您以前出现过吗?如果出现过是用什么方法解决了这个报错呢?

回复
豆子 2020年10月13日 - 17:31

最简单的办法是源代码中不要有英文以外字符,所有可视文本使用国际化翻译,就不会有任何问题

回复
banghuzhu 2021年1月31日 - 18:23

豆子老师,请问一下QT用什么方法可以获取字体的像素点数据,谢谢!!

回复
liu kian 2021年3月9日 - 11:09

在网络上查找QT5相关资料而找来的
感谢楼主的分享,向楼主的分享精神,致以崇高的敬意!

回复

lumm进行回复 取消回复

关于我

devbean

devbean

豆子,生于山东,定居南京。毕业于山东大学软件工程专业。软件工程师,主要关注于 Qt、Angular 等界面技术。

主题 Salodad 由 PenciDesign 提供 | 静态文件存储由又拍云存储提供 | 苏ICP备13027999号-2