目录
一、设计需求
添加一个Quit按钮,实现点击按钮,应用程序退出。
二、实现代码
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = 0);
~MyWidget();
};
#endif // MYWIDGET_H
#include "mywidget.h"
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
//设置控件的最小尺寸
setMinimumSize( 500, 300 );
//设置控件的最大尺寸
setMaximumSize( 500, 300 );
//新建按钮
QPushButton *quit = new QPushButton( "Quit", this);
//用于设置按钮的位置和大小
quit->setGeometry( 100, 100, 300, 100 );
//用于设置按钮的字体
quit->setFont( QFont( "Times", 18, QFont::Bold ) );
//当按钮被点击时,应用退出
connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
}
MyWidget::~MyWidget()
{
}
效果展示
三、代码解析
(1)setMinimumSize
void setMinimumSize(int minw, int minh);
setMinimumSize(500,300) 将窗口的最小尺寸设置为 500x300 像素。这意味着无论用户如何调整窗口的大小,窗口都不会小于这个尺寸。需要注意的是,setMinimumSize() 函数的参数是宽度和高度的数值。在 Qt 中,窗口尺寸通常以像素为单位进行指定。
(2) setGeometry
setGeometry(int x, int y, int width, int height)
setGeometry(100,100,300,100)将控件放置在 (100, 100) 的位置,并设置宽度为 300像素,高度为 100像素。
(3)qApp
qApp 是一个全局指针,指向当前正在运行的 QApplication 或 QGuiApplication 对象。它是在 QApplication 或 QGuiApplication 的构造函数中自动创建的,因此在应用程序代码的任何地方都可以访问。下列是与qApp相关的一些操作:
-
退出应用程序:可以调用 qApp->quit() 来退出应用程序。
-
获取 QApplication 或 QGuiApplication 对象:可以使用 qobject_cast<QApplication*>(qApp) 或 qobject_cast<QGuiApplication*>(qApp) 来将 qApp 转换为 QApplication 或 QGuiApplication 对象。这样可以使用 QApplication 或 QGuiApplication 类中的成员函数来操作窗口系统和应用程序事件循环。
-
获取应用程序命令行参数:可以使用 qApp->arguments() 来获取应用程序命令行参数。
-
设置应用程序名称:可以使用 qApp->setApplicationName() 来设置应用程序名称。
-
设置应用程序版本号:可以使用 qApp->setApplicationVersion() 来设置应用程序版本号。
在使用 qApp 指针时,需要确保 QApplication 或 QGuiApplication 对象已经被创建。因此,在访问 qApp 的任何属性或方法之前,需要先创建好 QApplication 或 QGuiApplication 对象。
四、总结
PushButton(按钮)在Qt中属于Buttons组,同组的还有Tool Button(工作按钮)、Radio Button(单选按钮)、Check Box(复选框)、Command Link Button(命令链接按钮)、Button Box(按钮盒)。这些同组的按钮的使用方法类似。各位举一反三便可,对控件的成员函数及作用不用烦恼,使用的多了就记住了,相似控件的成员函数作用神似。