按钮组

镇魂歌~Qt5控件

镇魂歌~Qt5控件

#include "widget.h"
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    setMinimumSize(200,120);
    setMaximumSize(200,120);

    QPushButton *quit = new QPushButton("Quit",this);
    quit->setGeometry(62,20,75,30);
    quit->setFont(QFont("Times",18,QFont::Bold));
    connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));
}

Widget::~Widget()
{
}
输入控件组

镇魂歌~Qt5控件

镇魂歌~Qt5控件

显示控件组

镇魂歌~Qt5控件

QTextBrowser还提供了几种比较有用的槽(SLOTS)

virtual void backward()

virtual void forward()

virtual void home()

通过链接这几个槽来达到人们说的“翻页”效果

空间间隔组

镇魂歌~Qt5控件

布局管理组

镇魂歌~Qt5控件

容器组

镇魂歌~Qt5控件

Widget对应QWidget类,Widget是使用Qt编写的图形用户界面(GUI)应用程序的基本生成块,每一个GUI组件,如按钮,标签或文本编辑器,都是一个Widget,并且可以放置在现有的用户界面中作为单独的窗口显示。每种类型的组件都是有QWidget的特殊子类提供的,而QWidget自身又是QObject的子类。

QWidget是所有Qt GUI界面类的基类,他接收鼠标、键盘及其他窗口事件,并在显示器上绘制自己。

通过传入QWidget构造函数的参数(QWidget::setWindowFlags()和QWidget::setParent())可以指定一个窗口部件的窗口标识和父窗口。

窗口部件的窗口标识(window flags)定义了窗口部件的窗口类型和窗口提示(hint)

窗口部件的构造函数:

QWidget(QWidget *parent= 0,Qt::WindowFlags f = 0)

parent:指定了窗口部件的父窗口部件,默认为0,新建的窗口部件将是一个窗口

f:指定了新窗口部件的窗口标识

QWidget定义的窗口类型为Qt::WindowFlags枚举类型

 QWidget *window = new QWidget();
    window->resize(320,240);
    window->show();

    QPushButton *button = new QPushButton(tr("Press me"),window);
    button->move(100,100);
    button->show();
子Widget是通过使用布局对象在窗口中进行 排列的,不指定位置和大小

   QWidget *window = new QWidget();
    window->resize(320,240);
    window->show();

 /*   QPushButton *button = new QPushButton(tr("Press me"),window);
    button->move(100,100);
    button->show();*/
    QLabel *label = new QLabel(tr("Name:"));
    QLineEdit *lineEdit = new QLineEdit();

    QHBoxLayout *layout = new QHBoxLayout();
    layout->addWidget(label);
    layout->addWidget(lineEdit);
    window->setLayout(layout);
复杂一点的界面

 QLabel *queryLabel = new QLabel(tr("Query:"));
    QLineEdit *queryEdit = new QLineEdit();
    QTableView *resultView = new QTableView();

    QHBoxLayout *querylayout = new QHBoxLayout();
    querylayout->addWidget(queryLabel);
    querylayout->addWidget(queryEdit);

    QVBoxLayout *mainLayout = new QVBoxLayout();
    mainLayout->addLayout(querylayout);
    mainLayout->addWidget(resultView);
    window->setLayout(mainLayout);
镇魂歌~Qt5控件

项目视图组

模型/视图框架用于完成数据与表现的分离--InterView框架--MVC设计模式

MVC:模型表示数据,视图是用户界面,控制定义了用户在界面上的操作

MVC模式有效的分离了用户和数据

模型:基于QAbstractItemModel类,该类是抽象基类

视图:所有视图都是从抽象基类QAbstractItemView继承

项目控件组(创建具有复选框的树形控件)

--QTreeWidget(树形控件)

--QTreeWidgetItem(树形节点)


相关文章: