亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

QTreeWidget中添加右鍵菜單

2019-11-11 04:39:02
字體:
來源:轉載
供稿:網友

頭文件

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();PRivate slots: void onGrpMenuTriggered(QAction *action); void onMemberMenuTriggered(QAction *action); void onAddAreaMenuTriggered(QAction *action);private: //grp menu QMenu *m_grpMenu; //child menu QMenu *m_memberMenu; QMenu *m_addAreaMenu; //grp action QAction *m_grpAddOneMember; QAction *m_grpDeleteGrp; QAction *m_grpAddOneGrp; //child action QAction *m_memberDelete; QAction *m_memberMove; QAction *m_memberSyncTime; //action QAction *m_addAreaAction; QAction *m_grpFlush; QAction *m_addDev; void createItemMenu(); //構造函數中調用此函數 void createTreeWidget(); void contextMenuEvent(QContextMenuEvent *event);private: Ui::MainWindow *ui;};#endif // MAINWINDOW_H

.cpp文件

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QContextMenuEvent>#include <QTreeWidgetItem>#include <qDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); createItemMenu(); createTreeWidget();}MainWindow::~MainWindow(){ delete ui;}void MainWindow::createItemMenu(){ m_grpMenu = new QMenu(this); m_memberMenu = new QMenu(this); m_addAreaMenu = new QMenu(this); connect(m_grpMenu,SIGNAL(triggered(QAction *)), this,SLOT(onGrpMenuTriggered(QAction *))); connect(m_memberMenu,SIGNAL(triggered(QAction *)), this,SLOT(onMemberMenuTriggered(QAction *))); connect(m_addAreaMenu,SIGNAL(triggered(QAction *)), this,SLOT(onAddAreaMenuTriggered(QAction *))); m_grpAddOneMember = new QAction(tr("增加子區域"),this); m_grpAddOneMember->setIcon(QIcon(":/image/add.png")); m_grpAddOneGrp = new QAction(tr("增加設備"),this); m_grpAddOneGrp->setIcon(QIcon(":/image/add.png")); m_grpDeleteGrp = new QAction(tr("刪除區域"),this); m_grpDeleteGrp->setIcon(QIcon(":/image/delete.png")); m_memberDelete = new QAction(tr("刪除設備"),this); m_memberDelete->setIcon(QIcon(":/image/delete.png")); m_memberMove = new QAction(tr("移動設備"),this); m_memberMove->setIcon(QIcon(":/image/next.png")); m_memberSyncTime = new QAction(tr("同步時間"),this); m_memberSyncTime->setIcon(QIcon(":/image/move.png")); m_addAreaAction = new QAction(tr("增加區域"),this); m_addAreaAction->setIcon(QIcon(":/image/add.png")); m_addDev = new QAction(tr("增加設備"),this); m_addDev->setIcon(QIcon(":/image/add.png")); m_grpFlush = new QAction(tr("刷新列表"),this); m_grpFlush->setIcon(QIcon(":/image/update.png"));}//重構contextMenuEvent函數,記得#include <QContextMenuEvent>void MainWindow::contextMenuEvent(QContextMenuEvent *event){ QTreeWidgetItem *item = ui->treeWidget->currentItem(); if(item == NULL) { qDebug()<<"空白處"; if (m_addAreaMenu->isEmpty()) { //增加區域 m_addAreaMenu->addAction(m_addAreaAction); m_addAreaMenu->addAction(m_addDev); m_addAreaMenu->addAction(m_grpFlush); } //菜單出現的位置為當前鼠標的位置 m_addAreaMenu->exec(QCursor::pos()); } else if(ui->treeWidget->currentItem()->childCount() > 0) { if (m_grpMenu->isEmpty()) { //增加子區域 m_grpMenu->addAction(m_grpAddOneMember); //刪除區域 m_grpMenu->addAction(m_grpDeleteGrp); m_grpMenu->addAction(m_grpAddOneGrp); } m_grpMenu->exec(QCursor::pos()); } else if(ui->treeWidget->currentItem()->childCount() == 0) { if (m_memberMenu->isEmpty()) { //刪除設備 m_memberMenu->addAction(m_memberDelete); //移動設備 m_memberMenu->addAction(m_memberMove); //同步時間 m_memberMenu->addAction(m_memberSyncTime); } m_memberMenu->exec(QCursor::pos()); } event->accept();}void MainWindow::onGrpMenuTriggered(QAction *action){ if (action == m_grpAddOneMember) {//增加子區域 qDebug()<<"增加子區域"; } else if (action == m_grpDeleteGrp) {//刪除區域 qDebug()<<"刪除區域"; } else if(action == m_grpAddOneGrp) { qDebug()<<"增加子區域"; }}void MainWindow::onMemberMenuTriggered(QAction *action){ if (action == m_memberDelete) {//刪除設備 } else if(action == m_memberMove) {//移動設備 } else if(action == m_memberSyncTime) {//同步時間 }}void MainWindow::onAddAreaMenuTriggered(QAction *action){ if (action == m_addAreaAction) {//增加區域 } if(action == m_addDev) {//增加設備 } if(action == m_grpFlush) {//刷新 }}void MainWindow::createTreeWidget(){ QIcon icon; icon.addPixmap(QPixmap(":/image/openStatus.png"), QIcon::Normal, QIcon::On);//節點打開狀態 icon.addPixmap(QPixmap(":/image/closeStatus.png"), QIcon::Normal, QIcon::Off);//節點關閉狀態 ui->treeWidget->setColumnCount(1); QStringList headers; headers << QObject::tr("管理"); ui->treeWidget->setHeaderLabels(headers); QStringList rootName_1; rootName_1 << QObject::tr("常用文件夾"); QTreeWidgetItem *rootItem_1 = new QTreeWidgetItem(ui->treeWidget, rootName_1); // rootItem_1->setIcon(0, QIcon(":/image/add.png")); //增加靜態圖標 rootItem_1->setIcon(0,icon); QStringList childName_1_1; childName_1_1 << "所有未讀"; QTreeWidgetItem *childItem_1_1 = new QTreeWidgetItem(rootItem_1, childName_1_1); rootItem_1->addChild(childItem_1_1); QStringList childName_1_2; childName_1_2 << QObject::tr("置頂郵件"); QTreeWidgetItem *childItem_1_2 = new QTreeWidgetItem(rootItem_1, childName_1_2); rootItem_1->addChild(childItem_1_2); QStringList rootName_2; rootName_2 << QObject::tr("我的郵箱"); QTreeWidgetItem *rootItem_2 = new QTreeWidgetItem(ui->treeWidget, rootName_2); rootItem_2->setIcon(0,icon); QStringList childName_2_1; childName_2_1 << QObject::tr("收件箱"); QTreeWidgetItem *childItem_2_1 = new QTreeWidgetItem(rootItem_2, childName_2_1); rootItem_2->addChild(childItem_2_1); QStringList childName_2_2; childName_2_2 << QObject::tr("草稿箱"); QTreeWidgetItem *childItem_2_2 = new QTreeWidgetItem(rootItem_2, childName_2_2); rootItem_2->addChild(childItem_2_2); QStringList childName_2_3; childName_2_3 << QObject::tr("發件箱"); QTreeWidgetItem *childItem_2_3 = new QTreeWidgetItem(rootItem_2, childName_2_3); rootItem_2->addChild(childItem_2_3); ui->treeWidget->addTopLevelItem(rootItem_1); ui->treeWidget->addTopLevelItem(rootItem_2); QStringList childName_1_2_1; childName_1_2_1 << "測試"; QTreeWidgetItem *childItem_1_2_1 = new QTreeWidgetItem(childItem_1_2, childName_1_2_1); childItem_1_2->addChild(childItem_1_2_1);}
上一篇:第三章-MFC運行機制

下一篇:統計難題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产视频91| 欧美尤物巨大精品爽| 高清日韩电视剧大全免费播放在线观看| 日本精品免费观看| 亚洲欧洲视频在线| 久久中文字幕在线| 国产日韩在线看片| 欧美午夜久久久| 九九精品在线播放| 欧美又大又硬又粗bbbbb| 91wwwcom在线观看| 久久免费视频观看| 亚洲一区二区久久久久久| 亚洲综合在线中文字幕| 国产精品久久久久久久av电影| 91亚洲精品久久久久久久久久久久| 日韩在线观看免费| 亚洲精品不卡在线| 97精品一区二区三区| 91精品综合视频| 亚洲精品一区在线观看香蕉| 亚洲欧洲日产国产网站| 97在线视频免费观看| 在线中文字幕日韩| 日韩的一区二区| 国产精品video| 最近中文字幕mv在线一区二区三区四区| 一本色道久久综合狠狠躁篇的优点| 日韩一区二区久久久| 91夜夜未满十八勿入爽爽影院| 亚洲在线观看视频| 亚洲福利视频网| 欧洲午夜精品久久久| 欧美制服第一页| 国产区精品在线观看| 国产97在线|亚洲| 国产成人亚洲综合91| 国产精品久久久久久超碰| 日韩电影大全免费观看2023年上| 96sao精品视频在线观看| 国内精品伊人久久| 97香蕉久久夜色精品国产| 国产成人一区二区三区电影| 中文字幕日韩免费视频| 国产91ⅴ在线精品免费观看| 亚洲国产精品国自产拍av秋霞| 不卡毛片在线看| 久久久久亚洲精品成人网小说| 久久久久久久一区二区| 亚洲激情在线观看| 欧美限制级电影在线观看| 国内精品久久久久影院 日本资源| 久久久极品av| 欧美在线视频观看| 欧美精品久久久久久久久久| 欧美黑人性生活视频| 亚洲国产高清高潮精品美女| 98精品国产高清在线xxxx天堂| 欧美另类暴力丝袜| 国产一区二区三区在线视频| www.日韩免费| 亚洲欧美另类在线观看| 亚洲白虎美女被爆操| 日本久久中文字幕| 日本韩国欧美精品大片卡二| 精品国产依人香蕉在线精品| 精品成人久久av| 美日韩丰满少妇在线观看| 日韩成人高清在线| 亚洲人成自拍网站| 欧美日韩亚洲精品一区二区三区| 中文字幕日韩综合av| 国语自产精品视频在免费| 国产va免费精品高清在线观看| 久久精品一本久久99精品| 欧美裸体xxxx极品少妇软件| 亚洲第一区中文字幕| 国模视频一区二区| 国产福利精品av综合导导航| 久久视频在线视频| 色老头一区二区三区在线观看| 国产噜噜噜噜噜久久久久久久久| 91九色综合久久| 日韩在线视频线视频免费网站| 亚洲成成品网站| 国模私拍视频一区| 欧美日韩高清区| 欧美一区二粉嫩精品国产一线天| 亚洲欧美日韩综合| 91精品国产高清久久久久久久久| 久久国产精品久久久| xxxx性欧美| 久久精品在线播放| 国产亚洲精品91在线| 亚洲精品视频播放| 成人免费看黄网站| 亚洲精品福利在线观看| 国产91网红主播在线观看| 91成人国产在线观看| 自拍偷拍免费精品| 狠狠综合久久av一区二区小说| 亚洲性无码av在线| 成人免费在线网址| 欧美性开放视频| 人人爽久久涩噜噜噜网站| 欧美日韩一区二区免费在线观看| 亚洲乱码一区av黑人高潮| 欧美体内谢she精2性欧美| 久久97久久97精品免视看| 亚洲第一福利网站| 精品自拍视频在线观看| 最近2019中文字幕大全第二页| 日韩中文在线中文网三级| 久久久久久国产精品| 久久久久这里只有精品| 国产精品海角社区在线观看| 国内精品模特av私拍在线观看| 亚洲电影免费在线观看| 亚洲国产精久久久久久久| 午夜欧美大片免费观看| 欧美一级高清免费| 亚洲第一精品福利| 国产美女直播视频一区| 国产激情综合五月久久| 国产精品99蜜臀久久不卡二区| 日韩毛片中文字幕| 午夜精品视频在线| 亚洲999一在线观看www| xxav国产精品美女主播| 狠狠躁夜夜躁人人爽天天天天97| 亚洲人a成www在线影院| 亚洲国产精品久久久久秋霞不卡| 日韩免费中文字幕| 成人精品福利视频| 国产精品av在线播放| 精品亚洲国产成av人片传媒| 国产精品视频永久免费播放| 久久99精品久久久久久琪琪| 亚洲免费av网址| 欧美性极品xxxx娇小| 亚洲电影免费观看高清完整版在线观看| 日韩亚洲欧美成人| 亚洲经典中文字幕| 北条麻妃一区二区在线观看| 欧美在线视频在线播放完整版免费观看| 亚洲欧洲激情在线| 51久久精品夜色国产麻豆| 成人国产精品久久久久久亚洲| 国产成人精品av在线| 国产精品成人久久久久| 成人久久18免费网站图片| 91精品国产综合久久久久久久久| 精品日本美女福利在线观看| 精品激情国产视频| 91wwwcom在线观看| 91精品国产91久久久久久久久| 亚洲精品美女在线观看播放| 中文字幕日韩精品在线| 日韩中文在线中文网三级| 668精品在线视频| 最近2019年手机中文字幕| 久久夜精品va视频免费观看| 永久免费看mv网站入口亚洲| 麻豆精品精华液|