行业知识
Qt设置右键菜单无效customContextMenuRequested(const QPoint &pos)
2026-11-15 01:22:43
来源:互联网转载
问题代index.php/tags-41973.html" >���:
()void MainWindow::onCustomContextMenuRequested(const QPoint &pos){ QTreeWidgetItem *item = ui->treeWidget->itemAt(pos); if (item) { QMenu menu(ui->treeWidget); TreeNodeType nodeType = (TreeNodeType)item->data(0, Qt::UserRole + 1).toInt(); if (nodeType == NODE_CONNECTION) { QAction actionOpen("打开连接", ui->treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); QAction actionModify("编辑连接", ui->treeWidget); connect(&actionModify, &QAction::triggered, this, &MainWindow::onModifyConnectionTriggered); menu.addAction(&actionModify); } else if (nodeType == NODE_DATABASE) { qDebug() treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); } else if (nodeType == NODE_TABLE) { qDebug() treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); } qDebug() treeWidget->itemAt(pos); if (item) { TreeNodeType nodeType = (TreeNodeType)item->data(0, Qt::UserRole + 1).toInt(); if (nodeType == NODE_CONNECTION) { QMenu menu(ui->treeWidget); QAction actionOpen("打开连接", ui->treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); QAction actionModify("编辑连接", ui->treeWidget); connect(&actionModify, &QAction::triggered, this, &MainWindow::onModifyConnectionTriggered); menu.addAction(&actionModify); menu.exec(QCursor::pos()); } else if (nodeType == NODE_DATABASE) { QMenu menu(ui->treeWidget); qDebug() treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); menu.exec(QCursor::pos()); } else if (nodeType == NODE_TABLE) { QMenu menu(ui->treeWidget); qDebug() treeWidget); connect(&actionOpen, &QAction::triggered, this, &MainWindow::onOpenConnectionTriggered); menu.addAction(&actionOpen); menu.exec(QCursor::pos()); } }} 再次运行,果然没问题了,又学到了。
()上一篇:已经买了腾讯云服务器怎么用
下一篇:java怎么进入别的服务器?