Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382257
  • 博文数量: 83
  • 博客积分: 1650
  • 博客等级: 上尉
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-18 18:22
文章分类
文章存档

2021年(1)

2016年(1)

2015年(2)

2014年(3)

2013年(12)

2012年(16)

2011年(18)

2010年(30)

分类: LINUX

2011-04-16 00:15:38

1 #include <QApplication>

2 #include <QHBoxLayout>


3 #include <QSlider>

4 #include <QSpinBox>

5 int main(int argc, char *argv[])

6 {

7     QApplication app(argc, argv);

8     QWidget *window = new QWidget;

9     window->setWindowTitle("Enter Your Age");

10     QSpinBox *spinBox = new QSpinBox;

11     QSlider *slider = new QSlider(Qt::Horizontal);

12     spinBox->setRange(0, 150);

13     slider->setRange(0, 150);

14     QObject::connect(spinBox, SIGNAL(valueChanged(int)),

15                     slider, SLOT(setValue(int)));

16     QObject::connect(slider, SIGNAL(valueChanged(int)),

17                     spinBox, SLOT(setValue(int)));

18     spinBox->setValue(35);

19     QHBoxLayout *layout = new QHBoxLayout;

20     layout->addWidget(spinBox);

21     layout->addWidget(slider);

22     window->setLayout(layout);

23     window->show();

24     return app.exec();

25 }

            

      

89 序的控件。第 10 13 窗口的 children设置允范围 14 到第 17 行是 spinBox slider 使显示年龄值控件生变都会发出 valueChanged(int)另一件的 setValue(int) 为这设置值。

18 行将 spinBox 的值设置为 35,这时 spinBox 发出 valueChanged(int)信号,int 的参 数值为 35,这个参数传递给 slider setValue(int),将 slider 置为 35。同理slider 也会发出 valueChanged(int)信号,触发 spinBox setValue(int)函数。这个时候因为 spinBox 就是 35,所以 spinBox 任何不会循环。

在第 19 22 行,我们使用了一个布局管理器排列 spinBox slider 控件。布局管理器能够 根确定大小Qt 要的理器: QHBoxLayout列控

QVBoxLayout列控

QGridLayout方式

22 行,QWidget::setLayout()把这个布局管理器放在 window 上。这个语句将 spinBox

slider 设为 window,即布局管理器所在的控件。如果一个控件由布局管理器确定它 的位置创建候就定一

现在,虽然们还没 spinBox slider 控件的大小位置,们已经平排列好了。 QHBoxLayout 排它我们在程虑控幕上和位的事交给理器大吉。

Qt 户界这样程序员的任实例要的设置属性们放管理界面成任务由 Qt signal slot

阅读(1608) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~