您的位置 首页 > 数码极客

qt如何使用ui的控件

上一节我们搞定了新建工程和编辑窗体。

这一节我们学一下怎么响应用户的操作,和用代码改变控件的内容。

我们继续接着上一节的工程使用,上一节我们已经新建了一个Lable了,下面我们给Lable的objectName设置为lb_Hello(点击Lable然后在右侧的属性栏里设置)。其实这就是设置Lable的变量名。

然后我们再从左侧控件库里拖一个Button进来,并设置它的text为“点我呀”。

做完后,我们的窗体应该是这样的:

给窗体添加按钮

然后我们实现如下功能:

  1. 点击按钮后将lb_Hello显示的文字HelloWorld变成“大家好,我是老赵”。
  2. 设置完全lb_Hello的内容后,弹出一个设置成功的提示对话框。

在QT中给按钮绑定点击事件和以前在BCB或C#中不一样,直接双击没有反映。

后来经搜索得知,要建接口函数,还要鼓捣消息槽,这很不科学很不现代化。

但经过我摸索,我发现其实没那么复杂,只需要在按钮上按鼠标右键,然后选择“转到槽”,然后在弹出的对话框里选“clicked()”然后按OK就可以了,IDE会自动创建好函数并绑定消息。

转到槽

选择clicked(),点击OK

然后会自动跳转到函数体内。

然后我们写入代码

void MainWindow::on_pushButton_clicked() { // 窗体所有控件都在ui这个对象中。 ui->lb_Hello->setText("大家好,我是老赵!"); // 弹消息框,注意要引入头部文件。 QMessageBox::information(this,"修改Lable","Lable的内容已修改。",QMessageBox::Ok); }

要注意的是要使用QMessageBox,必须要引入头部文件。

#include "QMessageBox"

在QT的窗体中的所有的控件,都在一个ui对象中,操作的时候要ui->对象objectName,才能操作。

有个怪事:在网上的教程里,直接像我上面的代码那样用中文,是会乱码的。需要tr()一下,但我在这里是直接使用中文的,并没有什么不妥,一切都是正常的,奇怪了,不信你看:

运行正常

事出无常必有妖。皮裤套棉裤,必定有缘故。

继续探索中。。。(我可写个什么程序呀?)

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“qt如何使用ui的控件”边界阅读