本文整理汇总了Python中PyQt4.QtGui.QMenu.move方法的典型用法代码示例。如果您正苦于以下问题:Python QMenu.move方法的具体用法?Python QMenu.move怎么用?Python QMenu.move使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.QtGui.QMenu
的用法示例。
在下文中一共展示了QMenu.move方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PythonConsoleWidget
# 需要导入模块: from PyQt4.QtGui import QMenu [as 别名]
# 或者: from PyQt4.QtGui.QMenu import move [as 别名]
class PythonConsoleWidget(QDockWidget):
"""
original code pulled from:
http://stackoverflow.com/questions/31380457/add-right-click-functionality-to-listwidget-in-pyqt4
http://stackoverflow.com/questions/20951660/creating-a-syntax-highlighter-in-pythonpyqt4
http://eli.thegreenplace.net/2011/04/01/sample-using-qscintilla-with-pyqt
"""
def __init__(self, parent):
self.parent = parent
super(PythonConsoleWidget, self).__init__('Python Console', parent=parent)
#super(QDockWidget, self).__init__('Python Console', parent=parent) # I think this works by accident in qt4/5
self.listMenu = QMenu()
self.execute_python_button = QPushButton('Execute')
self.execute_and_clear_python_button = QPushButton('Execute and Clear')
if is_pygments and is_scintilla:
#self.enter_data = QSyntaxHighlighting()
self.enter_data = SimplePythonEditorWidget()
else:
self.enter_data = QTextEdit()
font = QFont()
font.setFamily('Courier')
self.enter_data.setFont(font)
self.setup_connections()
self.layout()
def layout(self):
vbox = QVBoxLayout()
hbox = QHBoxLayout()
vbox.addWidget(self.enter_data)
hbox.addWidget(self.execute_python_button)
hbox.addWidget(self.execute_and_clear_python_button)
vbox.addLayout(hbox)
vbox_widget = QWidget()
vbox_widget.setLayout(vbox)
self.setWidget(vbox_widget)
def setup_connections(self):
if qt_version == 4:
self.connect(self.execute_python_button, QtCore.SIGNAL('clicked()'),
self.on_execute_python_button)
self.connect(self.execute_and_clear_python_button, QtCore.SIGNAL('clicked()'),
self.on_execute_and_clear_python_button)
else:
self.execute_python_button.clicked.connect(self.on_execute_python_button)
self.execute_and_clear_python_button.clicked.connect(
self.on_execute_and_clear_python_button)
#self.on_rig
# TODO: enables the right click menu
# messes up the previous right click menu
#self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
#self.connect(self, QtCore.SIGNAL("customContextMenuRequested(QPoint)"),
# self.listItemRightClicked)
menu_item1 = self.listMenu.addAction("Properties...")
menu_item2 = self.listMenu.addAction("Select All...")
menu_item3 = self.listMenu.addAction("Copy...")
menu_item1.triggered.connect(self.menuItemClicked_1)
menu_item2.triggered.connect(self.menuItemClicked_2)
menu_item3.triggered.connect(self.menuItemClicked_3)
#self.connect(menu_item1, QtCore.SIGNAL("triggered()"), self.menuItemClicked_1)
#self.connect(menu_item2, QtCore.SIGNAL("triggered()"), self.menuItemClicked_2)
#self.connect(menu_item3, QtCore.SIGNAL("triggered()"), self.menuItemClicked_3)
# we have to create a QWidget to put the console vbox into vbox_widget because
# self.setLayout(vbox)
# is not supported in a QDockWidget
def on_execute_and_clear_python_button(self):
self.parent._on_execute_python_button(clear=True)
def on_execute_python_button(self):
self.parent._on_execute_python_button(clear=False)
def listItemRightClicked(self, QPos):
"""
TDOO: not done...
"""
return
parentPosition = self.mapToGlobal(QtCore.QPoint(0, 0))
self.listMenu.move(parentPosition + QPos)
self.listMenu.show()
def menuItemClicked_1(self):
print(1)
def menuItemClicked_2(self):
print(2)
def menuItemClicked_3(self):
print(3)