QT界面之美——自定义窗体

时间:2023-01-27 09:01:20

QT可以做非常精美的界面,我这里写了一段QT窗口各种方法的实现。

#include "mainwindow.h"
#include <QMenuBar>//菜单栏
#include <QMenu>//菜单
#include <QAction>//事件
#include <QDebug>
#include <QToolBar>//工具栏
#include <QPushButton>
#include <QStatusBar>//状态栏
#include <QLabel>
#include <QTextEdit>//文本编辑器
#include <QDockWidget>//浮动窗体

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//菜单栏
QMenuBar *mBar=menuBar();//直接获取,已经分配空间了

//添加菜单
QMenu *qFile=mBar->addMenu("文件");

//添加菜单项
QAction *pNew=qFile->addAction("新建");

connect(pNew,&QAction::triggered,
[=](){
qDebug()<<"新建被按下";
}
);
qFile->addSeparator();//添加分割线
QAction *Popen=qFile->addAction("打开");

//工具栏
QToolBar *toolBar=addToolBar("toolBar");

//工具栏添加快捷键
toolBar->addAction(pNew);

//添加小控件
QPushButton *b=new QPushButton(this);
b->setText("^_^");

toolBar->addWidget(b);
connect(b,&QPushButton::clicked,
[=](){
b->setText("1234");
}
);


//状态栏
QStatusBar *qstatu=statusBar();//直接获取,已经分配空间了
QLabel *qlabel=new QLabel(this);
qlabel->setText("Normal text file");
qstatu->addWidget(qlabel);
qstatu->addWidget(new QLabel("2",this));//从左往右添加
qstatu->addPermanentWidget(new QLabel("3",this));//从右往左添加


//核心控件 文本编辑器
QTextEdit *qtext=new QTextEdit(this);
setCentralWidget(qtext);//设定一个中心控件

//浮动窗口
QDockWidget *dock=new QDockWidget(this);
addDockWidget(Qt::RightDockWidgetArea,dock);//第一个参数是浮动窗口的位置

QTextEdit *qtext1=new QTextEdit(this);
dock->setWidget(qtext1);
}

MainWindow::~MainWindow()
{

}


程序测试如下:


QT界面之美——自定义窗体