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

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

QTreeWidget中添加右鍵菜單

2019-11-11 03:58:39
字體:
來源:轉載
供稿:網友

頭文件

#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);}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人性生交xxxxx网站| 菠萝蜜影院一区二区免费| 久久久黄色av| 欧美日韩国产丝袜美女| 亚洲午夜国产成人av电影男同| 亚洲一区二区三区乱码aⅴ| 久久精品国产亚洲7777| 久热国产精品视频| 国产美女扒开尿口久久久| 成人性生交大片免费看视频直播| 亚洲一区二区三区视频播放| 国产精品福利久久久| 91极品女神在线| 日韩欧美一区视频| 88国产精品欧美一区二区三区| 国产精品午夜国产小视频| 欧美精品aaa| 国产精品美腿一区在线看| 日韩激情av在线免费观看| 亚洲自拍欧美另类| 亚洲精品影视在线观看| 毛片精品免费在线观看| 国产精品一区二区三区免费视频| 久久久亚洲影院| 久久久久久高潮国产精品视| 中文字幕亚洲综合久久筱田步美| 97精品一区二区视频在线观看| 国产精品亚洲综合天堂夜夜| 69**夜色精品国产69乱| 亚洲欧美一区二区三区四区| 国外成人免费在线播放| 91网在线免费观看| 亚洲激情国产精品| 中文一区二区视频| 久久夜精品va视频免费观看| 韩国三级日本三级少妇99| 高跟丝袜欧美一区| 久久久久久国产| 亚洲国产精品久久91精品| 色综合老司机第九色激情| 日韩精品免费在线播放| 91精品久久久久久久久久久久久久| 欧美日韩国产精品一区二区不卡中文| 久久6精品影院| 国模极品一区二区三区| 91地址最新发布| 亚洲精品色婷婷福利天堂| 91精品国产91久久久久久久久| 亚洲欧美综合另类中字| 欧美黑人一级爽快片淫片高清| 成人精品福利视频| 精品动漫一区二区| 成人精品一区二区三区电影免费| 国产va免费精品高清在线观看| 日韩在线中文字| 日韩美女视频免费在线观看| 日韩久久精品电影| 国产精品久久久久久久久久免费| 欧美日韩国产成人在线| 久久综合五月天| 成人国产精品久久久久久亚洲| 欧美日韩国产中文精品字幕自在自线| 91精品国产综合久久香蕉| 亚洲精品美女网站| 国产va免费精品高清在线| 韩国福利视频一区| 久久亚洲电影天堂| 91精品久久久久久| 国产不卡精品视男人的天堂| www欧美xxxx| 国产日韩精品在线观看| 色阁综合伊人av| 91美女片黄在线观看游戏| 欧美有码在线视频| 亚洲欧美日本另类| 日韩免费视频在线观看| 国产成人综合精品| 日韩av中文字幕在线免费观看| 欧美性高潮床叫视频| 91中文字幕在线| 中文欧美日本在线资源| 国内自拍欧美激情| 国产精品成人一区二区三区吃奶| 日韩二区三区在线| 国产亚洲欧美日韩一区二区| 日韩精品免费视频| 亚洲电影免费观看高清完整版在线| 欧美视频裸体精品| 日韩国产中文字幕| 成人网在线免费观看| 日韩资源在线观看| 日韩大片在线观看视频| 欧美wwwxxxx| 久久久久久久久久久亚洲| 亚洲成年网站在线观看| 国精产品一区一区三区有限在线| 欧美性色xo影院| 国产97在线播放| 亚洲免费高清视频| 国产精自产拍久久久久久| 中文字幕在线看视频国产欧美在线看完整| 最近中文字幕日韩精品| 亚洲最大中文字幕| 久久九九免费视频| 欧美裸体xxxx极品少妇| 国产欧美日韩精品专区| 亚洲欧美综合图区| 91精品中文在线| 亚洲最大福利视频网| 2018日韩中文字幕| 亚洲欧美中文日韩在线v日本| 日韩中文娱乐网| 综合国产在线视频| 久久韩剧网电视剧| 亚洲性视频网站| 国产精品第七十二页| 国产精品18久久久久久麻辣| 超碰97人人做人人爱少妇| 国产精品成人播放| 中文字幕久热精品视频在线| 国产精品私拍pans大尺度在线| www.精品av.com| 日韩精品一区二区视频| 91精品国产九九九久久久亚洲| 国产成人综合精品在线| 成人精品一区二区三区电影免费| 国产精品丝袜一区二区三区| 久久免费少妇高潮久久精品99| 最新69国产成人精品视频免费| 欧美精品在线极品| 81精品国产乱码久久久久久| 在线日韩第一页| 久久人人爽人人爽人人片亚洲| 亚洲成人中文字幕| 日韩最新中文字幕电影免费看| 91精品久久久久久久久久久| 永久555www成人免费| 国产成人精品综合| 91av在线免费观看| 激情久久av一区av二区av三区| 欧美精品福利视频| 97精品国产91久久久久久| 狠狠综合久久av一区二区小说| 国产精品视频成人| 欧美重口另类videos人妖| 色黄久久久久久| 中文字幕久热精品视频在线| 亚洲综合中文字幕在线观看| 色婷婷综合久久久久中文字幕1| 欧美裸体男粗大视频在线观看| 国产精品www色诱视频| 92看片淫黄大片欧美看国产片| 日韩欧美成人免费视频| 97久久久久久| 91久久精品在线| 欧美另类交人妖| 91香蕉国产在线观看| 性欧美视频videos6一9| 国产精品视频免费在线观看| 欧美—级高清免费播放| 亚洲视频在线看| 亚洲xxxx妇黄裸体| 久久精品色欧美aⅴ一区二区| 国产精品视频免费在线|