Загрузка данных


import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QMenu, QToolButton
from PySide6.QtCore import QObject, Slot
from ui_mainwindow import Ui_MainWindow  # ваш сгенерированный файл из .ui

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        
        # Создаём меню
        menu = QMenu(self)
        
        # Добавляем пункты
        action1 = menu.addAction("Пункт 1")
        action2 = menu.addAction("Пункт 2")
        action3 = menu.addAction("Пункт 3")
        
        # Подключаем обработчики
        action1.triggered.connect(lambda: self.on_menu_selected("Пункт 1"))
        action2.triggered.connect(lambda: self.on_menu_selected("Пункт 2"))
        action3.triggered.connect(lambda: self.on_menu_selected("Пункт 3"))
        
        # Привязываем меню к кнопке
        self.pushButton.setMenu(menu)
        
        # (Опционально) Меню открывается по клику, а не по удержанию
        self.pushButton.setPopupMode(QToolButton.InstantPopup)
    
    def on_menu_selected(self, text):
        print(f"Выбрано: {text}")
        # Здесь можно сделать что-то полезное

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())