一、
GUI: Graphic User Interface
图形化 用户 界面
例1显示"hello,world"的标签
#include<QtGui/QApplication>
#include<QtGui/QLabel>
int main(int argc,char* argv[])
{
QApplication a(argc,argv);
QLabel label("hello,world\n");
label.show();
return a.exec();
}
二、
在QT中,把窗口称为Widget
不仅仅是带边框的窗口叫Widget,其他的所有界面组件,例如,工具栏、按钮、文本框、下拉列表、复选框,都叫Widget,他们都继承与一个共同的父类:QWidegt。
窗口的任务:
(1)把各个空间组合起来,放在一个大窗体中。(Layout,布局)
(2)添加事件处理,使得窗口可以运作(Signal&Slot,事件处理)
例2显示一个设定好位置和大小的顶级窗口
#include<QtGui/QApplication>
#include<QtGui/QWidget>
int main(int agc,char* argv[])
{
QApplication a(argc,argv);
QWidget* w=new QWidget();
w->setGeometry(100,100,400,300);
w->setWindowTitle("hello,world");
w->show();
return a.exec();
}
三、
顶级窗口(top level widget):一个标准的窗口,带边框、标题栏、若干按钮。(独立)
子窗口:在窗口里面的窗口,例如,按钮,文本框这种控件,都是子窗口。(不独立,随着父窗口移动)
例3显示一个窗口并移动到一个位置
#include <QtGui/QApplication>
#include<QtGui/QWidget>
int main(int argc,char* argv[])
{
QApplication a(argc,argv);
QWidget w;
w.setGeometry(0,0,400,300);//其中的位置不含标题栏,位置是文本框的左上角
w.move(100,50);//移动的位置包含标题栏
w.show();
return a.exec();
}
四、定义一个窗口
目标:实现一个窗口界面,向其中添加一个按钮控件
步骤:
1、派生QWidget
2、创建Button对象,添加到父窗口
3、设置按钮与位置的大小
4、应用<QPushButton>
5、添加成员变量QPushButton* m_button;
6、在构造函数里创建控件 m_button=new QPushButton(this);
7、初始化控件:label,大小,位置
例3创建一个窗口并添加按钮和文本框
#ifndef MYWIN_H
#define MYWEN_H
#include<QWidget>
#include<QPushButton>
#include<QLineEdit>
#include<QPlainTextEdit>
class MyWin :public QWidget
{
Q_OBJECT
public:
MyWin(QWidget* parent);
~MyWin();
private:
QPushButton* m_button;
QLineEdit* m_lineEdit;
QPlainTextEdit* m_textEdit;
}
#include "MyWin.h"
MyWin::MyWin(QWidget *parent):QWidget(parent)
{
m_lineEdit=new QLineEdit(this);
m_lineEdit->setGeometry(0,0,300,50);
m_button=new QPushButton(this);
m_button->setText("hello,qt");
m_button->setGeometry(310,0,90,50);
m_textEdit=new QPlainText(this);
m_textEdit->setGeometry(0,60,400,240);
}
MyWin::~MyWin()
{
}
#include<QtGui/QApplication>
#include "MyWin.h"
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MyWin w(NULL);
w.setGeometry(100,100,400,300);
w.show();
return a.exec();
}