《C++ GUI Qt4编程》第1章——Qt入门
1.1 Hello Qt
#include <QtWidgets/QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
// 创建了一个 QApplication 对象,用来管理整个应用程序所用到的资源。
// 这个QApplication构造函数需要两个参数,分别是argc和argv,因为Qt支持它自己的一些命令行参数。
QApplication a(argc, argv);
//QLabel* label = new QLabel("Hello Qt!");
QLabel* label = new QLabel("<h2><i>Hello</i> "
"<font color=red>Qt!</font></h2>");
// 使QLabel标签(label)可见。在创建窗口部件的时候,标签通常都是隐藏的,这就允许我们可以先对其进行设置然后再显示它们,从而避免了窗口部件的闪烁现象。
label->show();
// 将应用程序的控制权传递给Qt。此时,程序会进入事件循环状态,这是一种等待模式,程序会等候用户的动作,例如鼠标单击和按键等操作。
return a.exec();
}
1.2 建立连接
#include <QApplication>
#include <QPushButton>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton * button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
button->show();
return app.exec();
}
1.3 窗口部件的布局
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter Your Age");
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
spinBox->setRange(0, 130);
slider->setRange(0, 130);
QObject::connect(spinBox, SIGNAL(valueChanged(int)),
slider, SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)),
spinBox, SLOT(setValue(int)));
spinBox->setValue(35);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);
window->show();
return app.exec();
}
Qt程序员最常使用的方式是先声明所需的窗口部件,然后设置它们所应具备的属性。程序员把这些窗口部件添加到布局中,布局会自动设置它们的位置和大小。利用Qt的信号和槽机理,并通过窗口部件之间的连接就可以管理用户的交互行为。
分类:
Qt
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!