Qt 入门程序
#include <iostream>
#include <QtWidgets/QLabel>
#include <QtWidgets/QApplication>
//如果嫌这么写麻烦可以在.pro文件中把CONFIG以下这两行删除
//CONFIG -= app_bundle
//CONFIG -= qt
using namespace std;
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel("HELLO Qt!");
label->show();
return app.exec();
}
其中
label->show()
主要是用来显示QLabel
return app.exec()
是用来让程序进入消息循环。等待的可能有彩蛋、工具条、鼠标的输入等等进行相应。
如果将代码
QLabel *label = new QLabel("HELLO Qt!");
替换为
QLabel *label = new QLabel("<h2><i>HELLO</i>""<font color=red>Qt!</font></h2>");
这里包含的html文本能够使显示的字体颜色发生改变。
效果1
比如前者就是斜体,后者变成了红色。
使用信号、槽的程序
程序初步如下,添加了一个
#include <iostream>
#include <QtGui>
#include <QtWidgets>
using namespace std;
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
QLabel *label = new QLabel("<h2><i>HELLO</i>""<font color=red>Qt!</font></h2>");
label->show();
button->show();
return app.exec();
}
效果2
当有动作或者改变时,Qt的控件会发出消息(signal)。比如这个函数,单击Quit按钮时,按钮会发送clicked()消息,然后这个消息会连接到一个函数上 (这里称为slot,即为槽) 。这时,当程序发出一个消息时,slot函数可以自动执行。在这个例子中,信号为clicked,槽为QApplication::quit()。
更多关于信号和槽的内容下次再见!
参考书籍:嵌入式Qt实战教程
网友评论