Создать контекстное меню pyQT Maya
В настоящее время я изучаю / конвертирую свой графический интерфейс Maya.cmds в PYQT. Я столкнулся с некоторыми проблемами, изучая, как создавать "всплывающие меню"
Пример всплывающего меню Maya на QPushButton
Это использование, чтобы быть моей второй натурой в Maya.cmds, но после перехода на QT у меня возникают проблемы с поиском какой-либо информации об этом. Я хотел бы добавить флажки, радиальные выделения и QLineEdit внутри этого "всплывающего меню".
Спасибо, Адам Б.
1 ответ
Решение
Вот рабочая версия, которую я собрал, мы используем пользовательское контекстное меню, чтобы показать наше Qmenu со всеми нашими пунктами меню.
class MainWindow(QtWidgets.QDialog):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("MainWindow")
# C R E A T E L A Y O U T
mainLayout = QtWidgets.QVBoxLayout()
self.setLayout(mainLayout)
# C R E A T E B U T T O N
self.btn = QtWidgets.QPushButton('Right Click Me!')
mainLayout.addWidget(self.btn)
# C O N N E C T P O P U P M E N U T O O U R B U T T O N
self.btn.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
self.btn.customContextMenuRequested.connect(self.showPopup)
# M E N U I T E M S
self.popupMenu = QtWidgets.QMenu()
self.PBSaveFileCB = self.popupMenu.addAction("Click")
# S H O W P O P U P M E N U
def showPopup(self,position):
self.popupMenu.exec_(self.btn.mapToGlobal(position))
def showUI():
ui = MainWindow()
ui.show()
return ui
ui = showUI()