QT快速入门 | 最简单最简洁的QT入门教程 | 嵌入式UI

作者: bestswinger分类: 校园学习 发布时间: 2022-07-13 12:17:45 浏览:472528 次

QT快速入门 | 最简单最简洁的QT入门教程 | 嵌入式UI

伸缩自如のLove:
三连了。讲话真流畅,口齿清晰流畅,听着不会累。逻辑清晰,不卡壳。

【回复】回复 @夏天de尾巴 :工科老师现状了,能懂意思就好
【回复】除了工地英语听的很难受
吕纵:
感谢感谢,两星期速成,计网大作业前端靠你了 [给心心][给心心][给心心]

erfghu:
大佬 有没有进阶版的QT教程啊 你是我找了这么久的qt教程里讲的最好的,清晰明了,不拖泥带水

miss-take:
终于学完了,感谢大大,我将在视频中遇到的项目和自己的一些改进的代码都开源在GitHub,这是项目地址(https://github.com/wwlww/QT-Small-Projects),并且把对链接mysql时遇见的问题(driver no load问题)写了一篇博客(https://www.wwlww.top/article/qt-connect-mysql),希望可以帮到大家[打call]

【回复】您好,您的贪吃蛇视频链接在哪里啊,thanks
【回复】喜欢费曼学习法吗,有兴趣我们试试
程安絮:
我来帮UP补充几点: 1. QT的c++代码会经过一个叫Meta-Object Compiler (moc)的预编译器处理后再交给gc++/clang++等编译器编译。在预编译过程中`private slots:`会被处理为`private:`。 2. 所有语言中,将函数作为参数传递时实际上都是传递的指向函数的指针,而传递匿名函数的值(无论是作为参数还是赋值给变量)也是传递的指向该匿名函数的指针。 3. `【this】(){...}`是c++11新加入的《匿名函数/Lambda函数/Lambda表达式》,如果想将匿名函数赋值给变量,可以用`auto fnc=【】(){...}`,其中`auto`是“自动判断类型”,编译器会在编译时自动根据赋值的类型来将`auto`替换为正确的类型。 4. `【this】`是捕获列表,不同于GO/PYTHON等的闭包匿名函数会自动捕获所有匿名函数定义环境下的变量,C++要手动通过捕获列表捕获指定的变量,还可以指定捕获方式是传值还是引用: `【=】`表示以传值方式捕获所有; `【&】`表示以引用方式捕获所有; `【=,&a】`表示以传值方式捕获除`a`外的所有变量,以引用方式捕获`a`; `this`其实是指向当前类实例的指针,所以用`【this】`以传值方式捕获就行了。 5. 新版本的C++支持在类成员函数中通过`this->a`来访问成员变量`a`,也支持传统的不用`this`指针,直接用`a`来访问成员变量(不推荐),如果用传统方式,当成员函数的参数中也有一个名为`a`的参数时,会出现冲突。 比如: ``` class Cls{ string name; unsigned age; public: Cls(string name, unsigned age){ this->name=name; this->age=age; } } ``` 不会出错。 而: ``` class Cls{ string name; unsigned age; public: Cls(string name, unsigned age){ name=name; age=age; } } ``` 会出错。

【回复】再补充一点:如果在设计界面右键选择“转到槽”的方式添加逻辑,在源代码中只会生成槽函数的声明和定义代码,不会自动生成`connect()`函数代码,而是在预编译后再生成。如果在构建过一次后删除了源代码中槽函数的声明定义,再次构建一定要用"构建"=>"重新构建"菜单,而不是直接用“构建”或“运行”,不然会出现预编译后文件中`connect()`函数代码残留但调用的槽函数已不存在从而出错的情况。
【回复】回复 @浅丿晓 :用C++写出来的东西,还是开源组织写的,能写成这样已经很优秀了。 同样用C++的Windows写出来的东西也没强多少。 Apple写出来的东西强是因为它用的是opject-c,硬是把C语言魔改成了一个合格的面向对象语言,不过也导致了object-c和其它类C语言的兼容很差。
【回复】匿名函数不是函数,是重载了函数调用运算符的匿名类的对象
m_kkkkk__:
请问我这为啥显示“no menber named mainLineEdit in ui widget”呢?

【回复】回复 @bestswinger : 上面说我的ui___.h文件没有权限改
【回复】回复 @也可以是自己的主角 : 我也遇到这个问题,但直接运行就没了,前提是你的控件名字确实和你函数里一致
有一只阿拉:
请问up主,这么多类和函数,我该怎么去掌握和学习呢,期待您的回答。

【回复】QT内容确实很多,但是我们常用的类、函数、控件也就占到了20%,多去实战,这些常用的基本都能记得。还有就是掌握方法,QT里面有完善的帮助文档,学会怎么去查这些函数信号,遇到新的类也不是问题。初学者,也可以借助下百度。
【回复】回复 @bestswinger : 好的,谢谢您,求推荐几个能快速了解和增长QT编程的开源项目,多谢up
he_hawk:
讲的真不错,这两天听讲,多次看见多人在观看,最多9人。不错,听完感觉快速入门了

锅里没有柚恩蜜:
您好 在四则运算里 出现了widget.cpp:143:5: error: use of class template 'QStack' requires template arguments qstack.h:49:7: note: template is declared here的问题 该怎么办呢

【回复】回复 @锅里没有柚恩蜜 :怎么解决的呀,加什么
9颗doc:
[捂脸]大佬想问一下跟随视频敲的代码,在编译的时候只有警告,运行后输入3+3按=后就提示Debug Error! Program:… Module:5.9.0 File:global/qglobal.cpp Line:3044。ASSERT:”!this->isEmpty()”in file;想请教大佬如何解决呀[大哭]

Second荣:
对于第5节视频的四则计算器,个人认为减法和除法的计算写错了。错误表现为5-1=-4或是4/2=0.5这两种错误。[口罩] 原因在于num1和num2这两个数,num1是先出栈的,对应实际是云算法后面的数,num2才是运算符前面的数,所以应该写成num2-num1或者num2/num1。 而视频中以及评论区置顶微信拿到的代码,都是num1-num2或是num1/num2,恰好视频中演示时没有用到减法,除法也刚好是3/3,所以没有问题。[脱单doge]

【回复】确实,我也是加老师公众号看的代码,qt上运行确实有不少问题[大哭]
【回复】回复 @Yuker_ : 找到原因了吗?
一顿绝绝子:
我按照视频一步一步搭建多线程,到最后运行发现开辟的线程debug没有任何显示,run函数没进去的感觉,我想问问这个是什么回事

atama1tai:
在四则运算计算器那一节为什么使用ba.append(expreession);会提示我No matching member啊

【回复】分享一下:我的全局编码是UTF-8。然后这样写,.append((ui->lineEdit->text()).toUTF8)。如果不这样写,发送中文会乱码。不知道为什么这位老师可以直接不转换编码不报错。顺便说一下,这位老师讲的太好了,有没有更多教程?
【回复】推荐一种写法,就是写两个Qstack,一个放value一个放ops,最后return values.top(); 这个int型就行了,然后inputData = QString::number(evaluationResult); // 将int转换为QString就结束了,大概这样
【回复】回复 @Mr小囧i :可是答案就不对了,7+8他答案是85[大哭]
笨芬氰烃:
才看了两集,但是讲的真的好,逻辑清楚条理清晰 步步为营,循序渐进 适合我这个新手[大笑]

C++ QT 学习 编程

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!