Qt学习笔记.pdf


文档分类:IT计算机 | 页数:约164页 举报非法文档有奖
1/164
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/164
文档列表 文档介绍
: .
t 是 QSpinBox 和 QSlider 的 parent。QWidget 没有 parent,因为它是程序
的顶层窗口。在 QWidget 及其子类的构造函数中,都有一个QWidget* 参数,用来指定它们的
父控件。
源代码如下:
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("EnterYour Age");
10 QSpinBox *spinBox = new QSpinBox;
11 QSlider *slider = new QSlider(Qt::Horizontal);
12 spinBox->setRange(0,130);
13 slider->setRange(0, 130);
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 ();
25 }
第 8,9 行建立程序的主窗口控件,设置标题。第 10 到 13 行创建主窗口的 children,并设置
允许值的范围。第 14 到第 17 行是 spinBox 和 slider 的连接,以使之同步显示同一个年龄值。
不管那个控件的值发生变化,都会发出valueChanged(int) 信号,另一个控件的setValue(in t)
函数就会为这个控件设置一个新值。
第 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学习笔记 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数164
  • 收藏数0 收藏
  • 顶次数0
  • 上传人橘子
  • 文件大小3.60 MB
  • 时间2022-03-03
最近更新