Qt4_使用窗口部件

创建窗口

如何创建一个你自己的窗口部件,描述如何控制一个窗口部件的最小大小和最大大小,并且介绍了窗口部件的名称。

创建项目时候,选QWidget并把Widget修改成MyWidget。打开mywidget.cpp,修改里面代码。

//mywidget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
#include <QPushButton>
#include <QFont>

MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
    
    setMinimumSize(200, 120); //最小大小
    setMaximumSize(200, 120); //最大大小
    QPushButton *quit = new QPushButton("Quit", this); //创建窗口部件
    quit->setGeometry(62, 40, 75, 30);
    quit->setFont(QFont( "Times", 18, QFont::Bold));
    connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}

MyWidget::~MyWidget()
{
    delete ui;
}
//main.cpp
#include "mywidget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyWidget w;
    w.setGeometry(100, 100, 200, 120);
    w.show();

    return a.exec();
}

在这里插入图片描述

MyWidget::MyWidget(QWidget *parent)

这里我们创建了一个新类。因为这个类继承了 QWidget,所以新类是一个窗口部件,并且可以最为一个顶层窗口或者子窗口部件。 这个类只有一个成员函数,构造函数(加上从 QWidget 继承来的成员函数)。这个构造函数是一个标准的 Qt 窗口部件构造函数,当你创建窗口部件时,你应该总是包含一个相似的构造函数。创建项目的时候会自动生成。

第一个参数是它的父窗口部件。为了生成一个顶层窗口,你指定一个空指针作为父窗口部件。就像你看到的那样,这个窗口部件默认地被认做是一个顶层窗口。

setMinimumSize(200, 120); setMaximumSize(200, 120);

因为这个窗口部件不知道如何处理重新定义大小,我们把它的最小大小和最大大小设置为相等的值,这样我们就确定了它的大小。

QPushButton *quit = new QPushButton(“Quit”, this);

这里我们创建并设置了这个窗口部件的一个名称为“quit”的子窗口部件(新窗
口部件的父窗口部件是 this)。

connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));

因为 MyWidget 类不知道这个应用程序对象,它不得不连接到 Qt 的指针,qApp。 一个窗口部件就是一个软件组件并且它应该尽量少地知道关于它的环境,因为它应该尽可能的通用和可重用。

知道了应用程序的名称将会打破上述原则,所以在一个组件,比如 MyWidget,需要和应用程序对象对话的这种情况下,Qt 提供了一个别名,qApp。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光开朗男孩

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值