qt学习4

QT第4天:OldBull,How old are you?
一个窗口、窗口部件和布局的例子:

#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 /* 新建一个窗口对象,它是这个程序的主窗口 */
    QWidget *window = new QWidget;
 /* 设置窗口标题,此处标题设为中文时显示会乱码,作为遗留问题以后解决 */
    window->setWindowTitle("OldBull, How old are you?");
 /* 创建一个微调控件 */
    QSpinBox *spinBox = new QSpinBox;
 /* 创建一个滑块控件,水平方向的 */
    QSlider *slider = new QSlider(Qt::Horizontal);
 /* 设置滑块和微调控件的值范围为0~1000 */
    spinBox->setRange(0, 1000);
    slider->setRange(0, 1000);
 /* 将spinBox的值变化的事件与slider的信号槽setValue连接起来,
  * 当spinBox中的值有变化时,slider的值会跟着一起变 
  */

    QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));
 /* 将slider的值变化的事件与spinBox的信号槽setValue连接起来,
  * 当slider的值有变化时,spinBox的值会跟着一起变 
  * 此处二者不会造成死循环的
  */

    QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
 
 /* 设置spinBox的值为999 */
    spinBox->setValue(999);
 /* 创建一个布局管理器,布局管理器能够对其所负责窗口部件的尺寸大小和位置进行设置的对象
  * QT中三类布局管理器:
  * QHBoxLayout: 水平布局管理器,在水平方向上排列窗口部件
  * QVBoxLayout: 垂直布局管理器,在竖直方向上排列窗口部件
  * QGridLayout: 网络布局管理器,把各部件排列在一个网格中
  * QT程序员最常使用的方式是先申明所需的窗口部件(如按钮,滑块,微调,输入框。。。。),
  * 然后设置它们所具备的属性,最后把这些部件添加到布局中,布局会自动设置它们的位置和大小
  */

    QHBoxLayout *layout = new QHBoxLayout;
    /*将spinBox和slider添加到布局管理器中 */
    layout->addWidget(spinBox);
    layout->addWidget(slider);
    /* 设置window的布局管理器为layout,默认,它会成为上面两个窗口部件的父窗口 */
    window->setLayout(layout);
    window->show();
    return app.exec();
}

图片
将布局改为垂直布局的效果:
图片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值