Dropdown menu und anderes ins Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Habre
User
Beiträge: 1
Registriert: Donnerstag 3. Oktober 2002, 16:22
Kontaktdaten:

Donnerstag 3. Oktober 2002, 16:27

Wie sieht ein DropDown menü in Python aus? Wie lautet der Code dazu?

UNd dann wollte ich noch wissen: Ich habe ein Script, das enthält Bedingungen. Er soll wenn eine Bedinung zutrifft das Script nochmal von vorne ablaufen lassen. Wie muss der Code lauten?

Gibt es eigenlich schon Referenzen zu Python?
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Donnerstag 3. Oktober 2002, 18:17

Habe ich eben aus dem Internet von ner Japanischen site gezogen. Ich arbeite selbst noch gerade daran. Wenn ich mehr weis, dann lasse ich von mir hören, ist doch klar.

Code: Alles auswählen

#! /usr/bin/python
import sys
from qt import *

class MyWidget(QWidget):

  def fileActivated(self, id):
    if id == self.ids['open']:
      QMessageBox.information(self, 'open', 'write "open" action here!')
    elif id == self.ids['save']:
      QMessageBox.information(self, 'save', 'write "save" action here!')
    elif id == self.ids['saveas']:
      QMessageBox.information(self, 'save as', 'write "save as" action here!')
    elif id == self.ids['quit']:
      self.close(0)

  def __init__(self, *args):
    apply(QWidget.__init__, (self,)+args)
    self.resize(300, 200)
    self.setCaption('Menu example')
    self.ids = { }
    mbar = QMenuBar(self)
    txaa = QMultiLineEdit(self)
    mbar.setGeometry(0, 0, 300, 30)
    txaa.setGeometry(0, 33, 300, 160)

    self.p = { }
    for e in ('File', 'Edit'):
      self.p[e] = QPopupMenu()
      mbar.insertItem(e, self.p[e])
    self.pf = { }
    p = self.pf['New'] = QPopupMenu()
    p.insertItem('New File')
    p.insertItem('New Temporary Buffer')
    p = self.p['File']
    self.ids['open'] = p.insertItem('Open...')
    self.ids['new'] = p.insertItem('New', self.pf['New'])
    self.ids['save'] = p.insertItem('Save')
    self.ids['saveas'] = p.insertItem('Save As...')
    p.insertSeparator()
    self.ids['quit'] = p.insertItem('Quit')

    p = self.p['Edit']
    p.insertItem('Cut')
    p.insertItem('Copy')
    p.insertItem('Paste')

    self.connect(self.p['File'], SIGNAL("activated(int)"),
                 self.fileActivated)

a = QApplication(sys.argv)
w = MyWidget()
a.setMainWidget(w)
w.show()
a.exec_loop()
# end.
Hans
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Freitag 11. Oktober 2002, 18:43

Hallo Habre,

zur ersten Frage: Da müssten wir erstmal wissen, mit welcher GUI Du das Pulldownmenu machen willst, hans hat dir das für QT ja schon gepostet.

Zum 2. Punkt:

Code: Alles auswählen

while 1:
    mach was
    if not Bedingung: break # Schleife beenden
hier gehts nach der Schleife weiter
solange Bedingung erfüllt ist wird "mach was" ausgeführt. Wenn die Bedingung schon vor der Schleife bekannt ist kann auch folgender Code verwendet werden:

Code: Alles auswählen

Bedingung = 1
while Bedingung:
    mach was
hier gehts nach der Schleife weiter
Dann gibts auch noch eine 3. Version, falls die Bedingung mitten in der Schleife auftaucht.

Code: Alles auswählen

while 1:
    mach was
    if Bedingung: continue # Schleife neu starten
    mach weiter
    break # Schleife beenden

Gruß

Dookie
Antworten