跟我一起学QT1:QT入门

1. hello Qt

1. 示例代码


#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();
}



2. 代码解释

1) QApplication:用来管理整个应用程序所用到的资源。

2) 窗口部件(QLabel):用户界面中的一个可视化元素(如按钮,菜单,滚动条)

3) label->show():使标签可见(创建窗口部件时,标签是隐藏的)

4) return a.exec():将控制权转交给Qt,程序会进入无限循环中。

3. 程序输出

2. 建立连接

1. 示例代码


#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();
}



2. 代码解释

1) SIGNAL(clicked()):Qt的窗口部件通过发射信号(signal)来表明一个用户动作已经发生或者是一个状态已经改变了。这里用户单击按钮时,该按钮就发射了一个clicked信号。

2) connect: 发送的信号通过connect,和槽函数相连接,这样槽函数可以自动执行。

3) SLOT(quit()): 接收到信号后执行的槽函数。

3. 程序输出

3. 窗口布局

1. 示例代码


#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();
}



2. 代码解释

1) QWidget:为主窗口,通过setWindowTitle来设置窗口标题栏上的名字。

2) QHBoxLayout:水平方向排列窗口部件。

3) setLayout:把窗口安装在布局管理器上。

3. 程序输出





转载于:https://my.oschina.net/voler/blog/343192

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值