码迷,mamicode.com
首页 > 其他好文 > 详细

Qt入门

时间:2016-05-27 23:20:01      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

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

  QLabel窗口部件,窗口部件是用户界面中的一个可视化元素。应用程序的窗口通常就是一个包含了QMenuBar、QToolBar、QStatusBar以及一些其它窗口部件。绝大多数应用程序都会使用一个QMainWindow或者一个QDialog来作为他的窗口,但是Qt更加灵活,以至于任意窗口都可以用作窗口。

  app.exec()将应用程序的控制权传递给Qt。此时,程序会进入时间循环状态,这是一种等待模式,程序会等候用户的动作。例如鼠标单击和按键等操作。用户的动作会让可以产生想用的程序生成一些时间。这的响应通常就是执行一个或者多个函数。

  在命令提示符下,进入hello目录,输入如下命令,生成一个与平台无关的项目文件hello.pro:

  qmake -project

  然后,输入如下命令,从这个项目文件生成一个与平台相关的makefile文件:

  qmake hello.pro

 

1.2 建立连接

  Qt窗口部件通过发送信号(signal)来表明一个用户动作已经发生了或者一个状态已经改变了。例如,当用户单击QPushButton时,该按钮会发射一个clicked信号。信号可以与函数项链,以便在发射信号是,槽可以得到自动执行。

 

1.3 窗口部件的布局

布局来管理窗口部件的几何形状,说明如何利用信号和槽来同步窗口部件。

 1 #include <qapplication.h>
 2 #include <qspinbox.h>
 3 #include <qslider.h>
 4 #include <qhboxlayout.h>
 5 
 6 int main(int argc,char *argv[])
 7 {
 8     QApplication app(argc,argv);
 9     QWidget *widget = new QWidget();
10       
11     widget->setWindowText("Enter Your Age");
12     QSpinBox *spinbox = new QSpinBox();
13     QSlider *slider = new QSlider(Qt::Horizontal);
14     spinbox->setRange(0,130);
15     slider->setRange(0,130);
16     
17     QObject::connect(spinbox,SIGNAL(valueChanged(int)),&app,SLOT(setValue(int)));
18     QObject::connect(slider,SIGNAL(valueChanged(int)),&app,SLOT(setValue(int)));
19     spinbox->setValue(35);
20     QHBoxLayout *hlayout = new QHBoxLayout();
21     hlayout->addWidget(spinbox);
22     hlayout->addWidget(slider);
23     window->setLayout(layout);
24 
25     window->show();
26     return app.exec();

 

QHBoxLayout:在水平方向上排列窗口部件,从左到右。

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

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

QWidget::setLayout()函数调用会在窗口上安装该布局管理器。

 

Qt入门

标签:

原文地址:http://www.cnblogs.com/pingfandfy/p/5536213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!