Qt
文章平均质量分 83
乔 巴
记录自己c++的学习历程
展开
-
widget一些控件的使用
通过设置定时器timer,绑定updatetime的自定义槽函数,来实现倒计时。给QLabel关联一个 伙伴, 这样点击QLabel就能激活对应的伙伴。此处把 label 中的⽂本设置为 “快捷键 &A” 这样的形式.• toggled 是 checked 属性改变时触发的.Qt::AutoText 根据⽂本内容⾃动决定⽂本格式.可以通过 alt + A 的⽅式来触发该快捷键。• released 是⿏标释放触发的.和上面的lcdnumber的接口差不多。• pressed 是⿏标按下触发的.原创 2024-03-17 20:51:44 · 526 阅读 · 0 评论 -
lambda+QWidget的属性
后续如果我们对应的槽函数比较简单,而且是一次性使用的,就经常会写这种lambda的形式。另外需要确定捕获到的变量是有意义的。确保无论何时用户点击了按钮,捕获到的变量都能正常使用。btn变量是new出来的,生命周期跟随整个窗口,(挂在了对象树上,窗口关闭才释放)this指针是Widget w实在main函数中定义的,随着进程结束才释放的。一般都是按照 [=] 值的方式来捕获各种变量。但是也可以用 [&] 引用来捕获,但是需要关注引用的变量本身的生命周期。原创 2024-03-15 15:50:07 · 589 阅读 · 0 评论 -
信号和槽1
开发当中大部分情况都是需要自定义槽函数的。实际上和自己自定义成员函数没什么区别。但是在以前的Qt版本中,必须将槽函数放到public slots中。qmake使用元编程技术,构建Qt项目的时候,使用qmake会自动扫描关键字,比如slots从而,生成一些qt的代码。btn->setText("按钮");delete ui;this->setWindowTitle("按钮已经按下了");private:qt生成的函数形同。原创 2024-03-13 21:44:54 · 556 阅读 · 0 评论 -
Qt对象树
这个代码在new了之后没有释放,不会造成内存泄漏。原因是这个对象是挂到了对象树上。qt就是设计了一个n叉树,将各种元素组织起来了。例如以下图通过树形结构,就把界面上显示的这些控件对象都组织起来了。使用对象树,把这些内容组织起来,在窗口关闭的时候释放。所以,通过new的方式创建对象,也就是把这个对象的生命周期,交给Qt的对象树来统一管理。假如在栈上创建的话,生命周期会随着构造函数的结束,就释放掉。原创 2024-03-12 19:02:44 · 897 阅读 · 0 评论