def contextMenuEvent(self, event):
global name,tmp_name,opt,list1_items,curR,nxtImg_cnt,home,site,pre_opt
global base_url,category
#print name
menu = QtWidgets.QMenu(self)
hd = menu.addAction("Hide Search Table")
sideBar = menu.addAction("Show Sidebar")
history = menu.addAction("Show History")
action = menu.exec_(self.mapToGlobal(event.pos()))
if action == hd:
self.hide()
elif action == sideBar:
if ui.dockWidget_3.isHidden():
ui.dockWidget_3.show()
ui.btn1.setFocus()
else:
ui.dockWidget_3.hide()
ui.list1.setFocus()
elif action == history:
ui.setPreOpt()
python类QMenu()的实例源码
def applied_custom_menu(self, point):
index = self.applied_tree_view.indexAt(point)
address = index.data(FIRSTUI.ROLE_ADDRESS)
if not address:
return
menu = QtWidgets.QMenu(self.applied_tree_view)
goto_action = QtWidgets.QAction('&Go to Function', self.applied_tree_view)
goto_action.triggered.connect(lambda:IDAW.Jump(address))
menu.addAction(goto_action)
metadata_id = index.data(FIRSTUI.ROLE_ID)
if metadata_id:
history_action = QtWidgets.QAction('View &History', self.applied_tree_view)
history_action.triggered.connect(lambda:self._metadata_history(metadata_id))
menu.addAction(history_action)
menu.exec_(QtGui.QCursor.pos())
def custom_menu(self, point):
index = self.tree_view.indexAt(point)
address = index.data(FIRSTUI.ROLE_ADDRESS)
if not address:
return
menu = QtWidgets.QMenu(self.tree_view)
goto_action = QtWidgets.QAction('&Go to Function', self.tree_view)
goto_action.triggered.connect(lambda:IDAW.Jump(address))
menu.addAction(goto_action)
metadata_id = index.data(FIRSTUI.ROLE_ID)
if metadata_id:
history_action = QtWidgets.QAction('View &History', self.tree_view)
history_action.triggered.connect(lambda:self.metadata_history(metadata_id))
menu.addAction(history_action)
menu.exec_(QtGui.QCursor.pos())
def Tray_init(self):
self.tray = QSystemTrayIcon()
self.icon = self.windowIcon()
self.tray.setIcon(self.icon)
self.tray.activated[QSystemTrayIcon.ActivationReason].connect(
self.TrayEvent)
self.tray_menu = QtWidgets.QMenu(QtWidgets.QApplication.desktop())
self.ShowAction = QtWidgets.QAction(
u'?? ', self, triggered=self.re_build)
self.ShowLog = QtWidgets.QAction(
u'???? ', self, triggered=self.logwindow.showlog)
self.QuitAction = QtWidgets.QAction(
u'?? ', self, triggered=self.app_quit)
self.tray_menu.addAction(self.ShowLog)
self.tray_menu.addAction(self.ShowAction)
self.tray_menu.addAction(self.QuitAction)
self.tray.setContextMenu(self.tray_menu) # ????????
self.tray.show()
self.showMessage(u"shadowsocks-pyqt ?????")
def setup_file_menu(self):
menu = QtWidgets.QMenu('&File', self.window)
# Switch BW2 directory
# switch_bw2_dir = QtWidgets.QAction(QtGui.QIcon('exit.png'), '&Database directory...', self.window)
# # switch_bw2_dir.setShortcut('Ctrl+Q')
# switch_bw2_dir.setStatusTip('Change database directory')
# switch_bw2_dir.triggered.connect(signals.switch_bw2_dir_path.emit)
# menu.addAction(switch_bw2_dir)
menu.addAction(
'&Database directory...',
signals.switch_bw2_dir_path.emit
)
menu.addAction(
'&Import database...',
signals.import_database.emit
)
return menu
# def setup_extensions_menu(self):
# extensions_menu = QtWidgets.QMenu('&Extensions', self.window)
# # extensions_menu.addAction(
# # self.add_metaprocess_menu_item()
# # )
# return extensions_menu
def __init__(self, parent=None):
super().__init__(parent)
self.context_menu = QMenu(self)
header = self.header()
header.sectionDoubleClicked.connect(self._header_double_clicked_handler)
self._add_menu_action("Transfer", self._transfer_handler)
# TODO: Implement
# self._add_menu_action("Transfer changed", self._transfer_changed_handler)
self.context_menu.addSeparator()
self._destination_menu_action = self._add_menu_action(
"Set as destination", self._set_transfer_directory_handler)
def __init__(self, icon, parent=None):
super(SystemTrayIcon, self).__init__(icon, parent)
self.parent = parent
self.setToolTip("Grid Control")
self.activated.connect(self.on_systemTrayIcon_activated)
menu = QtWidgets.QMenu()
showAction = menu.addAction("Hide/Show")
showAction.triggered.connect(parent.toggle_visibility)
menu.addSeparator()
exitAction = menu.addAction("Exit")
exitAction.triggered.connect(parent.close)
self.setContextMenu(menu)
def __init__(self):
import icons
icon = QIcon(QPixmap(':icon.png'))
super().__init__(icon)
menu = QMenu()
menu.addAction("About").triggered.connect(self.about)
menu.addAction("Exit").triggered.connect(self.exit)
self.setContextMenu(menu)
def __init__(self):
from rockthetaskbar import icons
icon = QIcon(QPixmap(':icon.png'))
super().__init__(icon)
menu = QMenu()
menu.addAction("CPU").triggered.connect(self.cpu)
menu.addAction("About").triggered.connect(self.about)
menu.addAction("Exit").triggered.connect(self.exit)
self.setContextMenu(menu)
self.cpu_monitor = CPUMonitor()
self.cpu_monitor.start()
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
m = QtWidgets.QMenu( self )
self.ui_component.setupTableContextMenu( m, self._addMenu )
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
m = QtWidgets.QMenu( self )
m.addSection( T_('File Actions') )
self._addMenu( m, T_('Edit'), self.table_view.tableActionEdit, self.table_view.enablerTableFilesExists, 'toolbar_images/edit.png' )
self._addMenu( m, T_('Open'), self.table_view.tableActionOpen, self.table_view.enablerTableFilesExists, 'toolbar_images/open.png' )
self.ui_component.setupTableContextMenu( m, self._addMenu )
def __setupTableContextMenus( self ):
self.debugLog( '__setupTableContextMenus' )
m = QtWidgets.QMenu( self )
self.ui_component.setupTableContextMenu( m, self._addMenu )
m = QtWidgets.QMenu( self )
self.ui_component.setupChangedFilesContextMenu( m, self._addMenu )
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
m = QtWidgets.QMenu( self )
m.addSection( T_('File Actions') )
self._addMenu( m, T_('Edit'), self.table_view.tableActionEdit, self.table_view.enablerTableFilesExists, 'toolbar_images/edit.png' )
self._addMenu( m, T_('Open'), self.table_view.tableActionOpen, self.table_view.enablerTableFilesExists, 'toolbar_images/open.png' )
self.ui_component.setupTableContextMenu( m, self._addMenu )
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
m = QtWidgets.QMenu( self )
self.ui_component.setupTableContextMenu( m, self._addMenu )
def __setupTreeContextMenu( self ):
self.debugLog( '__setupTreeContextMenu' )
# --- setup scm_type specific menu
for scm_type in self.all_ui_components:
self.debugLog( 'calling setupTreeContextMenu for %r' % (scm_type,) )
m = QtWidgets.QMenu( self )
m.addSection( T_('Folder Actions') )
self._addMenu( m, T_('&Command Shell'), self.treeActionShell, self.enablerFolderExists, 'toolbar_images/terminal.png' )
self._addMenu( m, T_('&File Browser'), self.treeActionFileBrowse, self.enablerFolderExists, 'toolbar_images/file_browser.png' )
self.all_ui_components[ scm_type ].setupTreeContextMenu( m, self._addMenu )
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
for scm_type in self.all_ui_components:
self.debugLog( 'calling setupTableContextMenu for %r' % (scm_type,) )
m = QtWidgets.QMenu( self )
m.addSection( T_('File Actions') )
self._addMenu( m, T_('Edit'), self.table_view.tableActionEdit, self.table_view.enablerTableFilesExists, 'toolbar_images/edit.png' )
self._addMenu( m, T_('Open'), self.table_view.tableActionOpen, self.table_view.enablerTableFilesExists, 'toolbar_images/open.png' )
self.all_ui_components[ scm_type ].setupTableContextMenu( m, self._addMenu )
def __setupTableContextMenu( self ):
self.debugLog( '__setupTableContextMenu' )
# --- setup scm_type specific menu
m = QtWidgets.QMenu( self )
self.ui_component.setupTableContextMenu( m, self._addMenu )
def _createTrayIcon(self):
self.trayIconMenu = QMenu(self)
self.trayIconMenu.addAction(self.quitAction)
self.trayIcon = QSystemTrayIcon(self)
self.trayIcon.setContextMenu(self.trayIconMenu)
def select_maps_context_menu(self, position):
global_position = self.general_map_selection.mapToGlobal(position)
def get_header_action(parent, map_name):
label = QLabel(map_name)
font = label.font()
font.setBold(True)
label.setFont(font)
label.setStyleSheet('color: black; margin:5px; margin-left: 15px;')
action = QWidgetAction(parent)
action.setDisabled(True)
action.setDefaultWidget(label)
return action
if self.general_map_selection.count():
row = self.general_map_selection.indexAt(position)
if row:
element = self.general_map_selection.item(row.row())
if element:
map_name = element.data(Qt.UserRole)
file_path = self._controller.get_model().get_data().get_file_path(map_name)
menu = QMenu()
menu.addAction(get_header_action(menu, map_name))
menu.addSeparator()
show_in_folder = menu.addAction('&Show in folder', lambda:
QDesktopServices.openUrl(QUrl.fromLocalFile(os.path.dirname(file_path))))
if file_path is None:
show_in_folder.setEnabled(False)
menu.addAction('Use as &mask', lambda: self._controller.apply_action(SetGeneralMask(map_name)))
menu.addAction('R&emove', lambda: self._controller.apply_action(
NewDataAction(self._controller.get_model().get_data().get_updated(removals=[map_name]))))
menu.exec(global_position)
def contextMenuEvent(self, event: QtGui.QContextMenuEvent, *args, **kwargs):
context_ind = self.indexAt(event.pos())
context_focus = self.model().itemFromIndex(context_ind)
print(context_focus)
print(context_focus.text())
info_slot = functools.partial(self.flight_info, context_focus)
menu = QtWidgets.QMenu()
info_action = QtWidgets.QAction("Info")
info_action.triggered.connect(info_slot)
menu.addAction(info_action)
menu.exec_(event.globalPos())
event.accept()