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

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

QTreeWidget中添加右鍵菜單

2019-11-11 04:00:23
字體:
來源:轉載
供稿:網友

頭文件

#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
伊人成人开心激情综合网| 国产亚洲成av人片在线观看桃| 国产精品久久久久久av下载红粉| 成人网页在线免费观看| 久久久精品999| 亚洲国产日韩精品在线| 国产亚洲视频在线| 国产精品人成电影| 在线观看国产欧美| 日韩精品免费综合视频在线播放| 欧美中文在线字幕| 91久久精品一区| 亚洲人成网在线播放| 欧美在线亚洲在线| 亚洲欧美在线一区| 92看片淫黄大片看国产片| 欧美黑人巨大xxx极品| 国产美女主播一区| 成人国产精品久久久久久亚洲| 亚洲成人精品视频在线观看| 亚洲精品按摩视频| 538国产精品一区二区在线| 亚洲高清福利视频| 亚洲免费视频一区二区| 色777狠狠综合秋免鲁丝| 欧美视频不卡中文| 日韩亚洲综合在线| 亚洲精品自拍视频| 欧美色videos| 亚洲精品v天堂中文字幕| 91精品国产91久久久久福利| 亚洲女人初尝黑人巨大| 国产婷婷成人久久av免费高清| 成人国产精品色哟哟| 国产精品午夜视频| 欧美成在线视频| 热99在线视频| 91av在线不卡| 国产欧美精品一区二区三区介绍| 日韩在线观看免费| 欧美劲爆第一页| 亚洲最大成人免费视频| 欧美寡妇偷汉性猛交| 久久精品国产一区| 国内精品中文字幕| 日韩美女免费观看| 热久久这里只有| 欧美大片欧美激情性色a∨久久| 91九色精品视频| 91久久国产综合久久91精品网站| 欧美寡妇偷汉性猛交| 亚洲在线视频福利| 欧美中文字幕在线视频| 一本色道久久88综合亚洲精品ⅰ| 久久久国产一区二区三区| 国产精品第一页在线| 菠萝蜜影院一区二区免费| 国产一区二区三区在线播放免费观看| 成人www视频在线观看| 亚洲有声小说3d| 91精品国产综合久久香蕉922| 精品视频在线播放| 欧美激情中文字幕乱码免费| 色播久久人人爽人人爽人人片视av| 亚洲第一精品自拍| 精品五月天久久| 国产精品成人国产乱一区| 亚洲女在线观看| 精品美女久久久久久免费| 国产亚洲欧美日韩精品| 国产日韩av在线播放| 亚洲视频视频在线| 78色国产精品| 日韩av一区二区在线| 成人av在线网址| 色多多国产成人永久免费网站| 成人性生交xxxxx网站| 欧美日韩国产区| 成人免费xxxxx在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲激情国产精品| 国产乱人伦真实精品视频| 777国产偷窥盗摄精品视频| 精品国产乱码久久久久久虫虫漫画| 国产色婷婷国产综合在线理论片a| 日韩精品免费观看| 日韩视频永久免费观看| 久久免费在线观看| 日本高清视频一区| www.久久色.com| 国产欧美日韩中文字幕在线| 亚洲午夜av电影| 亚洲www视频| 日韩av网址在线观看| 国产日韩欧美在线看| 国产精品电影久久久久电影网| 亚洲免费av网址| 欧美特级www| 91网站在线免费观看| 51久久精品夜色国产麻豆| 黄色一区二区在线观看| 狠狠躁夜夜躁人人爽天天天天97| 国产一区二区三区在线| 97精品国产91久久久久久| 国产精品精品国产| 久久久久久久色| 国产有码一区二区| 第一福利永久视频精品| 欧美黑人一级爽快片淫片高清| 亚洲欧美激情在线视频| 俺也去精品视频在线观看| 日韩少妇与小伙激情| 亚洲色图17p| 国产在线精品自拍| 日韩激情av在线免费观看| 精品自拍视频在线观看| 欧美亚洲激情在线| 亚洲系列中文字幕| 欧美xxxx做受欧美.88| 亚洲嫩模很污视频| 欧美激情视频给我| 国产成人精彩在线视频九色| 久久福利网址导航| 黄色成人在线免费| 国产精品丝袜久久久久久高清| 精品福利免费观看| 亚洲欧美日韩久久久久久| 久久成人18免费网站| 神马国产精品影院av| 亚洲在线观看视频网站| 日韩大片免费观看视频播放| 久久精品亚洲一区| 亚洲国内精品视频| 久久夜色精品亚洲噜噜国产mv| 一本色道久久88综合亚洲精品ⅰ| 九九久久精品一区| 麻豆一区二区在线观看| 精品无码久久久久久国产| 精品在线小视频| 国产成人精品免费久久久久| 欧美日韩国产成人在线| 最近更新的2019中文字幕| 久久不射热爱视频精品| 成人精品久久av网站| 亚洲无av在线中文字幕| 国产一区二区三区中文| 亚洲色图第三页| 欧美性在线观看| 亚洲视频电影图片偷拍一区| 亚洲精品97久久| 久久久久久com| 欧美在线视频一区| 国产大片精品免费永久看nba| 亚洲第一色在线| 久久精品91久久香蕉加勒比| 91理论片午午论夜理片久久| 亚洲最大的网站| 欧美激情在线播放| 亚洲国产成人久久综合| 日本亚洲精品在线观看| 欧美精品少妇videofree| 国产欧美va欧美va香蕉在线| 中文字幕亚洲无线码在线一区| 国产精品69精品一区二区三区|