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

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

QTreeWidget中添加右鍵菜單

2019-11-11 05:26:41
字體:
來源:轉載
供稿:網友

頭文件

#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
欧美老女人xx| 欧美成人一区二区三区电影| 亚洲精品一区二区久| 午夜欧美大片免费观看| 成人日韩在线电影| 欧美性猛交xxxx乱大交3| 国产精品天天狠天天看| 日韩av中文字幕在线免费观看| 国产精品国产三级国产aⅴ浪潮| 日韩在线视频国产| 亚洲第一精品夜夜躁人人爽| 免费91麻豆精品国产自产在线观看| 国产精品男女猛烈高潮激情| 亚洲成人av片在线观看| 日韩欧美在线第一页| 最近2019中文字幕大全第二页| 免费97视频在线精品国自产拍| 日韩欧美中文在线| 中国日韩欧美久久久久久久久| 国产精品一二三在线| 91亚洲人电影| 亚洲男人天堂2023| 亚洲一品av免费观看| 69久久夜色精品国产7777| 琪琪亚洲精品午夜在线| 伊人青青综合网站| 成人高h视频在线| 亚洲精品白浆高清久久久久久| 综合久久五月天| www欧美日韩| 中文欧美在线视频| 国产精品嫩草影院久久久| 亚洲国产精品久久久久| 亚洲www在线观看| 日韩欧美在线视频日韩欧美在线视频| 狠狠躁夜夜躁人人爽超碰91| 亚洲bt欧美bt日本bt| 中文字幕av一区中文字幕天堂| 色妞色视频一区二区三区四区| www.久久久久| 日韩网站在线观看| 欧美日韩亚洲网| 欧美日韩中文在线观看| 韩国19禁主播vip福利视频| 日韩av在线免费播放| 92看片淫黄大片看国产片| 国产v综合ⅴ日韩v欧美大片| 一本大道亚洲视频| 亚洲国产精品久久精品怡红院| 欧美性受xxxx黑人猛交| 欧美又大粗又爽又黄大片视频| 岛国视频午夜一区免费在线观看| 欧美午夜片欧美片在线观看| 国产日韩欧美日韩| 国产精品久久久av| 欧美激情久久久久| 久久久人成影片一区二区三区观看| 欧美亚州一区二区三区| 成人免费视频在线观看超级碰| 亚洲精美色品网站| 国产精品久久久久久久美男| 91精品视频在线播放| 成人h片在线播放免费网站| 亚洲自拍偷拍视频| 久久五月天色综合| 日韩在线视频一区| 91地址最新发布| 国产精品∨欧美精品v日韩精品| 欧美性猛交xxxx免费看漫画| 亚洲一区二区在线播放| 中文字幕久久精品| 91亚洲精品一区二区| 国产精品久久精品| 日韩精品中文字幕视频在线| 国产成人精品一区二区| 亚洲精品电影网在线观看| 国产精品露脸自拍| 亚洲乱码一区av黑人高潮| 久久久91精品国产一区不卡| 久久久999精品免费| 成人免费视频97| 日韩有码在线观看| 国产精品无av码在线观看| 亚洲精品国产精品国自产在线| 久久精品中文字幕电影| 久久久999精品视频| 亚洲欧美资源在线| 精品高清美女精品国产区| 国产精品狼人色视频一区| 91精品中国老女人| 5278欧美一区二区三区| 国产精品专区第二| 久99九色视频在线观看| 久久国内精品一国内精品| 国产精品久久久久久久久久99| 久久视频在线观看免费| 日韩av黄色在线观看| 日韩在线观看免费高清完整版| 久久亚洲成人精品| 成人网中文字幕| 欧美午夜精品在线| 91色p视频在线| 亚洲黄色www| 欧洲s码亚洲m码精品一区| 欧美日韩亚洲精品一区二区三区| 亚洲欧美另类在线观看| 国产在线拍偷自揄拍精品| 亚洲精品视频网上网址在线观看| 久久综合九色九九| 精品国产网站地址| 久久91亚洲精品中文字幕奶水| 精品美女永久免费视频| 欧美性xxxx极品高清hd直播| 97成人超碰免| 国产精品偷伦一区二区| 国产69精品久久久久久| 26uuu久久噜噜噜噜| 国产精品爽爽ⅴa在线观看| 日韩高清免费观看| 欧美精品日韩三级| 亚洲精品一区二区三区不| 欧美成人网在线| 欧美午夜精品久久久久久久| 国产精品v片在线观看不卡| 91精品国产高清久久久久久| 国产性色av一区二区| 欧美日韩黄色大片| 亚洲天堂av综合网| 欧美极品少妇全裸体| 好吊成人免视频| 国产精品男女猛烈高潮激情| 成人免费网站在线| 91精品国产91久久久久久久久| 国产a级全部精品| 中文字幕不卡在线视频极品| 欧美激情视频网址| 欧美怡春院一区二区三区| 亚洲欧洲日本专区| 国产精品一区av| 欧美激情一区二区久久久| 国产91色在线免费| 日韩在线播放一区| 国产精品美女在线| 中文字幕日韩视频| 国产精品久久久久久久av大片| 国产精品678| 一本色道久久88亚洲综合88| 亚洲精品免费在线视频| 欧美色播在线播放| 亚洲一级免费视频| 国产一区二区三区视频在线观看| 亚洲精品日韩激情在线电影| 成人性教育视频在线观看| 国产精品入口日韩视频大尺度| 国产视频精品xxxx| 久久久久久久电影一区| 欧美成人精品xxx| 欧日韩不卡在线视频| 欧美激情在线观看视频| 亚洲成人教育av| 久久中文字幕视频| 亚洲精品国产欧美| 91精品国产99久久久久久| 久久亚洲国产精品成人av秋霞|