[关闭]
@1405010312 2017-06-04T14:29:58.000000Z 字数 2664 阅读 586

第一章 Qt入门

C++GUIQt4


1.目的

  • 这一章介绍如何把基本的C++知识与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序.在这一章中,还引入了Qt中的两个重要的概念:一个是"信号和槽",另一个是"布局"

2.1 Hello Qt

  1. #include <QApplication>
  2. #include <QLabel>
  3. int main(int argc, char *argv[]){
  4. QApplication app(argc, argv);
  5. QLabel *label = new QLabel("Hello Qt!");
  6. label.show();
  7. return app.exec();
  8. }

2.1.2 编译执行过程

注意事项

2.2 建立连接

这个要说明如何响应用户的动作.这个应用程序有一个按钮构成,用户可以单击这个按钮退出程序.源代码如下:

  1. #include <QApplication>
  2. #include <QPushButton>
  3. int main(int argc, char *argv[]){
  4. QApplication app(argc, argv);
  5. QPushButton *button = new QPushButton("Quit");
  6. QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
  7. button->show();
  8. return app.exec();
  9. }

2.3 窗口部件的布局

这个将创建一个简单的例子程序,以说明如何用布局来管理窗口中窗口部件的几何形状,还要说明如何利用信号和槽来同步窗口部件.这个应用程序的运行效果如图1.4所示,它可以用来询问用户的年龄,而用户可以通过操纵微调框(spin box)或者滑块(slider)来完成年龄的输入.代码如下:

  1. #include <QApplication>
  2. #include <QHBoxLayout>
  3. #include <QSlider>
  4. #include <QSpinBox>
  5. int main(int argc, char* argv[]){
  6. QApplication app(argc, argv);
  7. QWidget *window = new QWidget;
  8. window->setWindowTitle("Enter Your Age");
  9. QSpinBox *spinBox = new QSpinBox;
  10. QSlider *slider = new QSlider(Qt::Horizontal);
  11. spinBox->setRange(0, 130);
  12. slider->setRange(0, 130);
  13. QObject::connect(spinBox, SIGNAL(valueChange(int)), slider, SLOT(setValue(int)));
  14. QObject::connect(slider, SIGNAL(valueChange(int)), spinBox, SLOT(setValue(int)));
  15. QHBoxLayout *layout = new QHBoxLayout;
  16. layout->addWidget(spinBox);
  17. layout->addWidget(slider);
  18. window->setLayout(layout);
  19. window->show();
  20. return app.exec();
  21. }

2.4 使用参考文档

在Qt的doc/html目录下可以找到HTML格式的参考文档.
在Qt Assistant中可以查看帮助文档

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注