QT右键菜单栏
文章目錄
- 前言
- 一、使用步驟
- 1.頭文件中
- 2.主函數中
前言
在日常是使用中希望軟件有一個右鍵的快捷鍵,如下是實現右鍵退出軟件的菜單。
提示:以下是最終實現的效果
一、使用步驟
1.頭文件中
添加代碼如下(示例):
//右鍵動作 #include <QContextMenuEvent> //用于產生右鍵事件 #include <QMenu> //用于生成右鍵菜單 #include <QAction> //用于添加菜單欄動作 #include <QCursor> //用于獲取當前光標位置 #include <QProcess> //用于啟動記事本 public:void Init_Action(); //初始化右鍵菜單//保護段事件 protected:void contextMenuEvent(QContextMenuEvent *event);private slots: // void on_newScreenShotButton_clicked(); // void shotScreenSlot(); // void saveScreenSlot(); //保存截圖 // void startNotepadSlot(); //啟動記事本void close_System(); //退出系統private:Ui::MainWindow *ui;//右鍵菜單所需要的變量QMenu *menu;QMenu *add_son_menu; //添加子菜單使用QAction *chg_skin_blue,*chg_skin_black; //換系統皮膚QAction *close_system; //關閉系統的動作2.主函數中
代碼如下(示例):
/********************************************** * @projectName IUADS_UG * @brief 初始化右鍵菜單 * @param void * @return void * @author ZYH * @date 2021-06-29 **********************************************/ void MainWindow::Init_Action() {//新建菜單menu= new QMenu(this); //添加菜單add_son_menu = new QMenu(this); //添加子菜單//添加動作chg_skin_blue = new QAction(this); //換系統皮膚chg_skin_black= new QAction(this); //換系統皮膚close_system = new QAction(this);; //關閉系統的動作chg_skin_blue->setText("藍色風格");chg_skin_black->setText("黑色風格");close_system->setText("退出系統");//添加菜單add_son_menu = menu->addMenu("系統皮膚設置");add_son_menu->addAction(chg_skin_blue);add_son_menu->addAction(chg_skin_black);menu->addSeparator();//添加分割線menu->addAction(close_system); //添加換皮膚動作//創建動作和要執行的槽函數連接QObject::connect(close_system,SIGNAL(triggered()),this,SLOT(close_System())); }/********************************************** * @projectName IUADS_UG * @brief 處理右鍵菜單發送的信號 * @param void * @return void * @author ZYH * @date 2021-06-29 **********************************************/ void MainWindow::contextMenuEvent(QContextMenuEvent *event) {qDebug()<<" 進入右鍵菜單欄";menu->exec(QCursor::pos()); //在光標當前位置處出現event->accept();}/********************************************** * @projectName IUADS_UG * @brief 用于系統右鍵菜單欄中退出系統中 * @param void * @return void * @author ZYH * @date 2021-06-28 **********************************************/void MainWindow::close_System() {this->close(); //關閉系統qApp->quit(); }總結
- 上一篇: QT文件日志系统(可选择出到文件,数据库
- 下一篇: Qt控件与按钮颜色透明