Я пытаюсь выяснить, как я могу создать выпадающий список (в настоящее время использующий QComoboBox), с несколькими элементами, и когда я наводю указатель мыши / щелчок мышью на один из вариантов, он показывает подсписок, содержащий еще несколько вариантов. Я пытался искать в Интернете, но не смог найти ничего, что я мог бы использовать.
Вот пример того, чего я хочу достичь (извините за ужасное качество, но я думаю, что это ясно дает понять, в чем заключается моя цель ..) )
Есть ли у кого-нибудь идеи, как создать подсписок внутри списка?
Редактировать
После попытки предложения @ eyllanes c У меня все еще есть проблема: я использую два файла: один файл, который содержит все объекты, такие как кнопки и тому подобное, и другой, который содержит некоторые функции и в основном делает GUI функциональным .
Я определил это в своем первом файле
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(751, 650)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.menuBtn=QtWidgets.QPushButton(self.centralwidget)
self.menuBtn.setGeometry(QtCore.QRect(100, 220, 100, 100))
self.productMenu=QtWidgets.QMenu(self.centralwidget)
self.menu1=self.productMenu.addMenu("options")
self.menu1.addAction("option 1")
self.menu2=self.productMenu.addMenu("option 2")
self.menu2.addAction("option 2a")
self.menu2.addAction("option 2b")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Test"))
self.menuBtn.setText(_translate("MainWindow", "Menu"))
И во втором файле (функционал) я написал это:
from PyQt5 import QtWidgets, QtCore, QtGui
from stackTest import Ui_MainWindow
import sys
class ApplicationWindow(QtWidgets.QMainWindow):
def __init__(self):
super(ApplicationWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.productMenu.triggered.connect(lambda action: self.ui.menuBtn.setText(action.text("Hello!")))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
application = ApplicationWindow()
application.show()
sys.exit(app.exec_())
Когда я запускаю код Я вижу кнопку, но когда я нажимаю ее, ничего не происходит.
Как мне заставить ее работать, чтобы, когда я нажимаю sh кнопку, я получал меню.