Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2015 19:14:18

boombox
Зарегистрирован: 2015-08-30
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ToolBar

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

Офлайн

#2 Сен. 2, 2015 19:17:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ToolBar

Какой тулбар в каком гуе надо гадать да? Вы понимаете, что есть несколько графических библиотек?



Офлайн

#3 Сен. 2, 2015 19:43:45

boombox
Зарегистрирован: 2015-08-30
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ToolBar



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

Офлайн

#4 Сен. 2, 2015 20:16:18

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

ToolBar

А если вместо f_menu разные методы навесить?…

Офлайн

#5 Сен. 2, 2015 20:16:40

boombox
Зарегистрирован: 2015-08-30
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ToolBar

помогите, плиз. а то завтра пересдача у меня…

Офлайн

#6 Сен. 2, 2015 20:18:26

boombox
Зарегистрирован: 2015-08-30
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ToolBar

то есть чтобы каждый action был связан сигналом с отдельной функцией?

Офлайн

#7 Сен. 2, 2015 20:21:52

boombox
Зарегистрирован: 2015-08-30
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ToolBar

этот тулбар получается слева сверху и горизонтально. можно его сделать справа сверху вертикально?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version