Найти - Пользователи
Полная версия: ToolBar
Начало » Python для новичков » ToolBar
1
boombox
такая проблемка…
есть ToolBar. в нем есть несколько action ов. при нажатии на каждый из них, создается меню. для этого связываем action с функцией сигналом triggered.
вопрос вот в чем: как узнать, какой action выбран? нужно что-то типа: если выбран action1, то создаем меню. и та
к как меню создается одинаковое для всех actionov, то и функция нужна одна
FishHook
Какой тулбар в каком гуе надо гадать да? Вы понимаете, что есть несколько графических библиотек?
boombox


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_())

Shaman
А если вместо f_menu разные методы навесить?…
boombox
помогите, плиз. а то завтра пересдача у меня…
boombox
то есть чтобы каждый action был связан сигналом с отдельной функцией?
boombox
этот тулбар получается слева сверху и горизонтально. можно его сделать справа сверху вертикально?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB