Qt走起 - Qt代码示例 - Qt Widgets程序
Qt实现顶部菜单的代码
Qt的Widgets应用程序,实现顶部菜单的过程:
使用Qt Creator创建了Widgets应用程序,MainWindow中有一个默认的菜单栏,可以是使用 this->menuBar() 获取,这是一个QMenuBar。在QMenuBar 菜单栏下,可添加QMenu菜单下拉菜单,QMenu下拉菜单下可以添加QAction作为菜单项。本示例先给出效果示例, 然后给出具体代码。

本示例在Qt 6.2,Windows 10上运行成功。效果如下:

htmainwindow.h代码如下:
#ifndef HTMAINWINDOW_H
#define HTMAINWINDOW_H

#include <QMainWindow>
#include <QMenu>
#include <QMessageBox>


QT_BEGIN_NAMESPACE
namespace Ui { class HtMainWindow; }
QT_END_NAMESPACE

class HtMainWindow : public QMainWindow
{
Q_OBJECT

public:
HtMainWindow(QWidget *parent = nullptr);
~HtMainWindow();

private:
Ui::HtMainWindow *ui;

QMenu HtmdMenuFile,HtmdMenuHelp;
QAction HtmdOpenFileAction,HtmdNewFileAction,HtmdAboutAction;

private slots:
void OnHtmdOpenFileActionTriggered();
void OnHtmdNewFileActionTriggered();
};
#endif // HTMAINWINDOW_H
htmainwindow.cpp代码如下:
#include "htmainwindow.h"
#include "./ui_htmainwindow.h"

HtMainWindow::HtMainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::HtMainWindow)
{
ui->setupUi(this);

setWindowTitle("何问起Qt菜单栏 - hovertree.com");

//设置QAction
HtmdOpenFileAction.setText("打开");
connect(&HtmdOpenFileAction,SIGNAL(triggered()),this,SLOT(OnHtmdOpenFileActionTriggered()));
HtmdNewFileAction.setText("新建");
connect(&HtmdNewFileAction,SIGNAL(triggered()),this,SLOT(OnHtmdNewFileActionTriggered()));

HtmdAboutAction.setText("关于");


//设置QMenu
HtmdMenuFile.setTitle("文件");
HtmdMenuFile.addAction(&HtmdOpenFileAction);
HtmdMenuFile.addAction(&HtmdNewFileAction);

HtmdMenuHelp.setTitle("帮助");
HtmdMenuHelp.addAction(&HtmdAboutAction);

//设置QMenuBar 更多请反问 hovertree.com
this->menuBar()->addMenu(&HtmdMenuFile);
this->menuBar()->addMenu(&HtmdMenuHelp);

}

HtMainWindow::~HtMainWindow()
{
delete ui;
}


void HtMainWindow::OnHtmdOpenFileActionTriggered()
{
QMessageBox::information(this,"何问起提示","打开操作在这进行");
}

void HtMainWindow::OnHtmdNewFileActionTriggered()
{
QMessageBox::information(this,"何问起提示","新建操作在这进行");
}
收藏 列表

评论:

导航