如何在Qt的widget上右键显示菜单

如何在Qt的widget上右键显示菜单,第1张

// QContextMenuEvent 右键菜单

void MyWidget::contextMenuEvent(QContextMenuEvent */*event*/)

{

    QMenu *menu = new QMenu()

    menu->addAction("退出")

    menu->exec(QCursor::pos())

}

不解释,自己看。

// myWidget is any QWidget-derived class

myWidget->setContextMenuPolicy(Qt::CustomContextMenu)

connect(myWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&)))

void MyClass::ShowContextMenu(const QPoint& pos) // this is a slot

{

    // for most widgets

    QPoint globalPos = myWidget->mapToGlobal(pos)

    // for QAbstractScrollArea and derived classes you would use:    

    // QPoint globalPos = myWidget->viewport()->mapToGlobal(pos)    

    

    QMenu myMenu    

    myMenu.addAction("Menu Item 1")    

    // ...    

    

    QAction* selectedItem = myMenu.exec(globalPos)    

    if (selectedItem)    

    {        

        // something was chosen, do stuff    

    }

    else    

    {        

        // nothing was chosen    

    }

}

'''

【简介】

PyQT5的表格中支持右键菜单例子

'''

import sys

from PyQt5.QtWidgets import (QMenu, QPushButton, QWidget, QTableWidget, QHBoxLayout, QApplication, QTableWidgetItem,

QHeaderView)

from PyQt5.QtCore import QObject, Qt

class Table(QWidget):

if name == ' main ':

app = QApplication(sys.argv)

example = Table()

example.show()

sys.exit(app.exec_())


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11890559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存