运河建设集团网站,google play store,wordpress滑块插件,网站栏目分类Qt 6之五#xff1a;创建菜单
Qt是一种跨平台的C应用程序开发框架#xff0c;它提供了一套丰富的工具和库#xff0c;可以帮助开发者快速构建跨平台的应用程序#xff0c;用于开发图形用户界面#xff08;GUI#xff09;和非GUI应用程序。
Qt 6之一#xff1a;简介、安…Qt 6之五创建菜单
Qt是一种跨平台的C应用程序开发框架它提供了一套丰富的工具和库可以帮助开发者快速构建跨平台的应用程序用于开发图形用户界面GUI和非GUI应用程序。
Qt 6之一简介、安装与简单使用 https://blog.csdn.net/cnds123/article/details/130730203
Qt 6之二项目的结构、资源文件的使用https://blog.csdn.net/cnds123/article/details/130741807
Qt 6之三 项目的发布 https://blog.csdn.net/cnds123/article/details/130827966
Qt 6之四基础概念讲解https://blog.csdn.net/cnds123/article/details/135401606 创建简单菜单程序
Qt 6如何用Qt Creator 10创建菜单程序
现在有两种方式设计菜单
通过代码实现菜单的方式
通过户界面设计器设计菜单
下面以这个如下图简单的示例分别讲解两种实现方式 一通过代码实现菜单的方式 先创建新项目ch03打开 Qt Creator 10点击 “File” - “New File or Project”。
在 “New Project” 对话框中选择 “Qt Widgets Application”然后点击 “Choose”。然后按照向导提示创建新项目我这里初项目名设置为ch03其他向导按默认参见下图 打开 mainwindow.cpp 文件找到 MainWindow 构造函数。在这个函数中你可以添加以下代码来创建菜单
// 创建 File 菜单
QMenu* fileMenu menuBar()-addMenu(tr(File));// 创建 Open 动作并添加到 File 菜单
QAction* openAction fileMenu-addAction(tr(Open));
connect(openAction, QAction::triggered, this, MainWindow::onOpen);// 创建 Exit 动作并添加到 File 菜单
QAction* exitAction fileMenu-addAction(tr(Exit));
connect(exitAction, QAction::triggered, this, MainWindow::close);// 创建 Edit 菜单
QMenu* editMenu menuBar()-addMenu(tr(Edit));// 创建 Copy 动作并添加到 Edit 菜单
QAction* copyAction editMenu-addAction(tr(Copy));
connect(copyAction, QAction::triggered, this, MainWindow::onCopy);实现动作槽函数然后你需要在 MainWindow 类中实现 onOpen 和 onCopy 槽函数。这些函数会在用户选择相应的菜单项时被调用。你可以根据需要实现这些函数例如
void MainWindow::onOpen()
{// 实现 Open 动作qDebug() Open action triggered;
}void MainWindow::onCopy()
{// 实现 Copy 动作qDebug() Copy action triggered;
}这里进行了简化上述代码在用户选择 Open 或 Copy 菜单项时打印一条调试信息。在实际应用中你需要在这些函数中实现相应的功能。
为方便新手学习下面给出添加图示 你还需要在 mainwindow.h 中添加这槽函数的声明具体位置是在
private: Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
之前添加
//添加槽函数的声明
private slots:void onOpen(); // 在这里添加 onOpen 槽函数的声明void onCopy(); // 在这里添加 onCopy 槽函数的声明这是因为在 Qt 中槽函数必须在类的声明中使用 Q_SLOTS 宏或者其等价的 slots 宏声明否则 Qt 元对象系统会找不到这些槽函数。为方便新手学习下面给出添加图示 二通过户界面设计器设计菜单
先创建新项目ch03打开 Qt Creator 10点击 “File” - “New File or Project”。
在 “New Project” 对话框中选择 “Qt Widgets Application”然后点击 “Choose”。然后按照向导提示创建新项目我这里初项目名设置为ch03其他向导按默认参见下图 1、打开用户界面设计器在项目浏览器中找到 mainwindow.ui 文件并双击它。这会打开用户界面设计器。 2、添加菜单栏在设计器中你应该已经看到了一个名为 MainWindow 的窗口。在窗口的顶部有一个名为 Type here 的灰色条这就是菜单栏QMenuBar。双击击这个灰色条然后在出现的输入框中输入你想要的菜单名称例如 File回车。
用类似的方法添加菜单项。 File的子菜单 objectName属性值
Open actionOpen
Exit actionExit
Edit的子菜单
Copy actionCopy
在设计过程中可以使用快捷键CtrlR对窗口进行预览。 3、连接菜单项信号和槽对于菜单项 (QAction) Qt Creator 不提供直接创建槽函数的 GUI 方法。你需要手动进行以下步骤
3、连接菜单项信号和槽对于菜单项 (QAction) Qt Creator 不提供直接创建槽函数的 GUI 方法。你需要手动进行以下步骤
在 mainwindow.h 中声明槽函数具体位置是在
private: Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
之前添加
private slots:void onOpen(); // 在这里添加 onOpen 槽函数的声明void onCopy(); // 在这里添加 onCopy 槽函数的声明 void onExit(); // 在这里添加 onExit 槽函数的声明
为方便新手学习下面给出添加图示 在 mainwindow.cpp 中定义这些槽函数
void MainWindow::onOpen()
{qDebug() Open action triggered;
}void MainWindow::onCopy()
{qDebug() Copy action triggered;
}void MainWindow::onExit()
{close();
}这里进行了简化上述代码在用户选择 Open 或 Copy 菜单项时打印一条调试信息 在实际应用中你需要在这些函数中实现相应的功能。 Exit 菜单关闭窗体。
在 mainwindow.cpp 的构造函数中还要建立 QAction 和槽函数的关联。请找到
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow)
{
ui-setupUi(this);
}
在ui-setupUi(this);之后添加如下几句 //建立 QAction 和槽函数的关联connect(ui-actionOpen, QAction::triggered, this, MainWindow::onOpen);connect(ui-actionCopy, QAction::triggered, this, MainWindow::onCopy);connect(ui-actionExit, QAction::triggered, this, MainWindow::onExit); // 添加这样当你在运行的程序中点击 Open 、 Copy 或Exit菜单项时就会调用相应的槽函数。
为方便新手学习下面给出添加图示 Qt程序菜单通过代码创建视频https://www.bilibili.com/video/BV1uz4y1y7Eu/
Qt程序菜单2通过UI文件创建视频https://www.bilibili.com/video/BV1ft4y1e7hD/ 三简单记事本例子
文件菜单包括打开、保存、清除、关闭。 为 文本编辑区域TextEdit添加右键菜单以实现复制和粘贴功能。
待续