Seite 1 von 1

argumente bei menuaufruf übergeben

Verfasst: Sonntag 3. April 2011, 17:25
von Lasse
Ich erstelle ein Menüaktion und möchte die Funktion mit einem Argument aufrufen. (In diesem Fall die Sprache) Allerdings weiß ich nicht wie ich Argumente an die Funktion übergeben kann.

Code: Alles auswählen

languages = ["Deutsch", "English", ...]
for language in languages
    menuLanguage.addAction("language", changeLanguage)
Die Funktion stark vereinfacht.

Code: Alles auswählen

def changeLanguage(language):
    print(language)

Re: argumente bei menuaufruf übergeben

Verfasst: Sonntag 3. April 2011, 18:11
von Hyperion
So geht das nicht! Eine QAction verbindet man über Signale mit einem Slot. Genau wie so ziemlich alles andere bei Qt auch ;-) Die Signatur von QAction, wie Du sie da angibst, existiert ja auch gar nicht.

Die Hauptschwierigkeit besteht darin, dass man bei vielen gleichartigen Elementen (können auch Ui-Elemente sein, s. dazu auch: Thread) nicht x-Slots und x separate connect-Statements schreiben möchte, sondern stattdessen einen Bezug zum Ausgangsmodell mit übergeben möchte. In diesem Falle ist das ebene eine Liste, bei der man einfach den Index übergeben kann.

Hier mal mein Vorschlag: Link

Re: argumente bei menuaufruf übergeben

Verfasst: Sonntag 3. April 2011, 20:27
von Lasse
Danke, für die schnelle Hilfe! Praktisches Ding, dieses partial!