#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return a.exec();
}
运行结果:
创建了一个显示“Hello Qt!”的QLabel窗口部件。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel *label = new QLabel("<h1><i>Hello</i><font color = red> Qt!</font></h1>");
label->show();
return a.exec();
}
运行结果:
字符串中可以支持HTML样式
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),
&a,SLOT(quit()));
button->show();
return a.exec();
}
运行结果:
创建一个QPushButton窗口部件,并把QPushButton的clicked()信号和QApplication的quit()槽建立连接,当用户单击QPushButton时,该按钮就会发射一个clicked()信号,然后槽就会自动运行。
宏SIGNAL()和SLOT()是Qt语法中的一部分。
#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
QApplication a(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 a.exec();
}
运行结果:
这个程序有三个窗口部件组成:一个QSpinBox,一个QSlider,一个QWidget。QWidget是这个应用程序的主窗口,QSpinBox和QSlider会显示在QWidget中,他们都是QWidget窗口部件的子对象
#include <QApplication>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QSlider>
#include <QSpinBox>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(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);
QLabel *label = new QLabel("hello!");
QVBoxLayout *layout2 = new QVBoxLayout;
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
layout2->addWidget(label);
layout2->addLayout(layout);
window->setLayout(layout2);
window->show();
return a.exec();
}
运行结果:
在垂直布局中添加一个水平布局和一个QLabel窗口部件。