Seite 1 von 1

Dropdown menu und anderes ins Python

Verfasst: Donnerstag 3. Oktober 2002, 16:27
von Habre
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?

Verfasst: Donnerstag 3. Oktober 2002, 18:17
von hans
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

Verfasst: Freitag 11. Oktober 2002, 18:43
von Dookie
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