Форум сайта python.su
0
такая проблемка…
есть ToolBar. в нем есть несколько action ов. при нажатии на каждый из них, создается меню. для этого связываем action с функцией сигналом triggered.
вопрос вот в чем: как узнать, какой action выбран? нужно что-то типа: если выбран action1, то создаем меню. и та
к как меню создается одинаковое для всех actionov, то и функция нужна одна
Офлайн
568
Какой тулбар в каком гуе надо гадать да? Вы понимаете, что есть несколько графических библиотек?
Офлайн
0
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAction = QAction(QIcon('exit24.png'), ‘Exit’, self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
action1=QAction('1')
action2=QAction('2')
action3=QAction('3')
self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(exitAction)
self.toolbar.addAction(action1)
self.toolbar.addAction(action2)
self.toolbar.addAction(action3)
def f_menu():
и вот здесь надо сделать проверку, какой из action выбран
menu=QMenu()
menu.addAction('a',action) # и тут вместо action нужно указать для какого из action ов создается меню
. . .
action1.triggered.connect(f_menu)
action2.triggered.connect(f_menu)
action3.triggered.connect(f-menu)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Toolbar')
self.show()
if __name__ == ‘__main__’:
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
Офлайн
88
А если вместо f_menu разные методы навесить?…
Офлайн
0
помогите, плиз. а то завтра пересдача у меня…
Офлайн
0
то есть чтобы каждый action был связан сигналом с отдельной функцией?
Офлайн
0
этот тулбар получается слева сверху и горизонтально. можно его сделать справа сверху вертикально?
Офлайн