Kliknięcie w ikone na toolbarze PyQT4

0

Witam, nigdzie nie moge znaleźć odpowiedzi. Mam zrobiony designerem toolbar z ikonkami, i chce żeby po kliknięciu w daną ikone coś się wykonywało. (kod wygenerowany przez designera)

0

Samym rysowaniem to sie raczej nie programuje.
http://zetcode.com/tutorials/pyqt4/eventsandsignals/

0

Dla buttona to ja potrafie, po prostu nie potrafie dla toolbara i tego poszukuje

0

Nie można spróbowac tak samo bo toolbar nie ma czegoś takiego jak indexy więc nie idzie w ten sposób się odwołać do konkretnego obrazka, bądż napisu

0

Widze, ze starasz sie mi wmowic, ze tak sie tego nie robi, no coz... Popre swoje twierdzenie, ze jednak tak sie da to zrobic, drobnym how-to.

Tworzymy mala aplikacje w PyQt4. Zwykle okno z toolbarem i przyciskiem zamkniecie.

  1. Tworzenie akcji:
exit_action = QtGui.QAction('Exit', self)
exit_action.setShortcut('Ctrl+Q')
exit_action.triggered.connect(QtGui.qApp.quit)
  1. Tworzenie toolbara
self.toolbar = self.addToolbar('Exit')
self.toolbar.addAction(exit_action)

Mamy gotowego toolbara z jedna akcja, reszty nie bede opisywac bo jest chyba oczywista.
Calosc:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore


class Example(QtGui.QMainWindow):
    
    def __init__(self):
        super(Example, self).__init__()
        
        self.initUI()
        
    def initUI(self):
        
        exit_action = QtGui.QAction('Exit', self)
        exit_action.setShortcut('Ctrl+Q')
        exit_action.triggered.connect(QtGui.qApp.quit)
        
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exit_action)
        
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Toolbar')
        self.show()
        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

Edit:
Teraz chyba wiem na czym polega Twoj problem,
Czy nie wiesz jak sie odwolac do obiektu danej akcji, ktora zostala wygenerowana przez designer?
Jesli tak, to w designerze na 99,9% jest nazwa tego obiektu i odwolanie jest takie jak do kazdego innego obiektu 'self.blablabla', chyba ze designer dodaje jakis obiekt proxy, wtedy 'self.proxy.blablabla'
Czy moze nie wiesz jak stworzyc taka akcje?
O ile mnie pamiec nie myli, to [PPM-toolbar]->addAction, czy cos w ten desen.

0
self.ui.actionUstawienia,QtCore.SIGNAL("triggered()")

Rzeczywiscie wystarczylo wpisac, myslalem ze cos bardziej skomplikowanego bo szukając w googlach wyskakiwały jakieś wymysły, dodatkowe linijki itd. jakby ktoś szukał to podałem kod. actionustawienia to po prostu wygenerowane przez disegnera, dzięki za to, że mi pomogłeś (bo w sumie pomogłeś - dzieki)

1 użytkowników online, w tym zalogowanych: 0, gości: 1