QT学习笔记1:QT入门

1. hello QT

#include <QApplication>
#include <qlabel.h>

int main(int argc, char *argv[])
{
    //QApplication对象,用来管理整个应用程序所用到的资源
    QApplication a(argc, argv);
    //新建一个QLabel窗口部件
    QLabel *label = new QLabel( "hello QT" );
    //使QLabel标签可见(默认不可见)
    label->show();

    return a.exec();
}
程序输出:



2. 建立连接

#include <QApplication>
#include <qpushbutton.h>

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

程序输出:

    当我们点击quit时候,程序会直接退出。

QT的窗口部件通过发射信号(signal)来表明一个用户动作已经发生了或者是一个状态已经改变了。例如,当用户单机QPushButton时,该按钮就会发射一个clicked()信号。信号可以与函数(在这里称为槽,slot)相连接,以便在发射信号时,槽可以得到自动执行。


3. 窗口部件的布局

#include <QApplication>
#include <QHBoxLayout>
#include <qslider.h>
#include <qspinbox.h>

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();
}
程序输出:



1) 使用connect函数保证spinBox和slider同步修改。

2)布局管理器就是一个能够对其所负责窗口部件的尺寸大小和位置进行设置的对象。QT主要有三个布局管理器类:

(1)QHBoxLayout.水平方向上排列窗口部件,从左到右。

(2)QVBoxLayout:在竖直方向上排列窗口部件,从上到下。

(3)QGridLayout:把各个窗口部件排列在一个网格中。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值