QMenu 上下文菜单初始大小太小,w/o 内容在 QtOpenGL.QGLWidget 中
QMenu context menu initial size too small and w/o content in QtOpenGL.QGLWidget
我正在为 Python 2.7.9
使用 PyQt 4.8.6
绑定。我想在 QtOpenGL.QGLWidget
:
中创建一个上下文菜单
class OpenGLWidget(QtOpenGL.QGLWidget):
def __init__(self, parent=None):
QtOpenGL.QGLWidget.__init__(self, parent)
# context menu properties
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
def contextMenuEvent(self, event):
self.popMenu = QtGui.QMenu(parent=self)
print self.popMenu.sizeHint()
print self.popMenu.size()
self.popMenu.setFixedWidth(100)
self.popMenu.setFixedHeight(100)
print self.popMenu.size()
self.popMenu.addAction(QtGui.QAction('Refresh', self.updateGL()))
self.popMenu.addSeparator()
self.popMenu.addAction(QtGui.QAction('test2', None))
self.popMenu.exec_(event.globalPos())
def mousePressEvent(self, event):
self.last_pos = QtCore.QPoint(event.pos())
if event.button() == QtCore.Qt.RightButton:
self.contextMenuEvent(event)
它打印出来:
>>> PyQt4.QtCore.QSize(2, 2)
>>> PyQt4.QtCore.QSize(100, 30)
>>> PyQt4.QtCore.QSize(100, 100)
上下文菜单看起来是空的,如下所示:
我想知道如何将上下文菜单大小设置为可调整的,并且还可以从初始设置中看到?你知道为什么里面没有菜单文本(功能)吗?我还在树视图中使用上下文菜单,它工作正常,但在这里我遇到了问题。如果我不设置固定的菜单大小,菜单会小于坐标系轴的字母。
虽然我在某处的示例中找到了定义操作的方法,但它看起来不太好。上下文菜单项(操作)应定义为:
_updateGLAction = popMenu.addAction("Refresh")
_updateGLAction.triggered.connect(self.repaintGL)
我正在为 Python 2.7.9
使用 PyQt 4.8.6
绑定。我想在 QtOpenGL.QGLWidget
:
class OpenGLWidget(QtOpenGL.QGLWidget):
def __init__(self, parent=None):
QtOpenGL.QGLWidget.__init__(self, parent)
# context menu properties
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
def contextMenuEvent(self, event):
self.popMenu = QtGui.QMenu(parent=self)
print self.popMenu.sizeHint()
print self.popMenu.size()
self.popMenu.setFixedWidth(100)
self.popMenu.setFixedHeight(100)
print self.popMenu.size()
self.popMenu.addAction(QtGui.QAction('Refresh', self.updateGL()))
self.popMenu.addSeparator()
self.popMenu.addAction(QtGui.QAction('test2', None))
self.popMenu.exec_(event.globalPos())
def mousePressEvent(self, event):
self.last_pos = QtCore.QPoint(event.pos())
if event.button() == QtCore.Qt.RightButton:
self.contextMenuEvent(event)
它打印出来:
>>> PyQt4.QtCore.QSize(2, 2)
>>> PyQt4.QtCore.QSize(100, 30)
>>> PyQt4.QtCore.QSize(100, 100)
上下文菜单看起来是空的,如下所示:
我想知道如何将上下文菜单大小设置为可调整的,并且还可以从初始设置中看到?你知道为什么里面没有菜单文本(功能)吗?我还在树视图中使用上下文菜单,它工作正常,但在这里我遇到了问题。如果我不设置固定的菜单大小,菜单会小于坐标系轴的字母。
虽然我在某处的示例中找到了定义操作的方法,但它看起来不太好。上下文菜单项(操作)应定义为:
_updateGLAction = popMenu.addAction("Refresh")
_updateGLAction.triggered.connect(self.repaintGL)