Dynamisch erzeugte PushButtons auch anzeigen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Hase
User
Beiträge: 101
Registriert: Donnerstag 1. Oktober 2009, 15:17
Wohnort: Bremer Speckgürtel

Hallo, ich möchte PushButtons dynamisch erzeugen und diese dann auch auf dem Widget anzeigen lassen. Irgendwie stehe ich vor einer Wand.
Am liebsten wäre mir, wenn es ohne Box-Layout gehen würde mit rein absoluter Positionierung (Es handelt sich um eine Kiosk-Anwendung auf einem Industrie-Touch-Panel, da sollen/dürfen keine Fenster verschoben oder verändert werden). Nachfolgend ein Minimalbeispiel:

Code: Alles auswählen

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

import sys
from PySide import QtGui

class Example(QtGui.QWidget):
    
    def __init__(self):
        super(Example, self).__init__()
        
        self.initUI()
        
    def initUI(self):
        
        btn1 = QtGui.QPushButton('Push me', self)
        btn1.move(15, 10)
        btn1.clicked.connect(self.newButton)

        self.setGeometry(300, 300, 300, 150)
        self.show()

    def newButton(self):
        btn2 = QtGui.QPushButton("I'm new", self)
        btn2.move(30, 30)
        print "ich möchte auf dem MainWidget angezeigt werden"

        

        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()


BlackJack

@Hase: Auch bei einem festen Zieldisplay würde ich nicht absolut positionieren, sondern das per Layouts machen. Denn auch dort möchte man doch in der Regel, dass die Widgets sich ihrem Inhalt anpassen, so dass man, falls sich der mal ändert, oder man etwas hinzufügen oder wegnehmen möchte, nicht alles mögliche andere mühsam per Hand neu anordnen/verschieben muss.
Antworten