Python dynamiczne tworzenie GUI

0

Witam ma ktoś jakieś linki czy cokolwiek zwiażanego z tematem? Mam forme i przycisk, po kilknięciu przycisku chciałbym aby pojawił się nowy przycisk lub coś innego to co zrobie, ogólnie korzystam z pyqt4

0

W akcji gotowego przycisku dodajesz do okienka nowy przycisk odpowiednim kodem... Zaraz może napiszę przykład...

edit: masz takie coś:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'okno.ui'
#
# Created: Fri Mar 01 13:31:38 2013
#      by: PyQt4 UI code generator 4.9.6
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(611, 435)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.pushButtonNowyPrzycisk = QtGui.QPushButton(self.centralwidget)
        self.pushButtonNowyPrzycisk.setObjectName(_fromUtf8("pushButtonNowyPrzycisk"))
        self.verticalLayout_2.addWidget(self.pushButtonNowyPrzycisk)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
        self.pushButtonNowyPrzycisk.setText(_translate("MainWindow", "Utworz nowy przycisk", None))


#implementacja funkcji okienka

class Impl_MainWindow(Ui_MainWindow):
    def setupUi(self,MainWindow):
        Ui_MainWindow.setupUi(self,MainWindow)
		
        QtCore.QObject.connect(self.pushButtonNowyPrzycisk, QtCore.SIGNAL("clicked()"), self.akcjaNowyPrzycisk)
		
    def akcjaNowyPrzycisk(self):
        self.button = QtGui.QPushButton(self.centralwidget)
        #self.button.setObjectName(_fromUtf8("kolejnyPrzycisk"))
        self.verticalLayout_2.addWidget(self.button)
        self.button.setText(u"Kolejny przycisk")

#rutyna sluzaca do pokazania okienka

import sys

class MyForm(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Impl_MainWindow()
        self.ui.setupUi(self)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = MyForm()
    myapp.show()
    sys.exit(app.exec_())
0

no tak ale jak ustalić jego rozmiar i położenie?

0

Powinieneś pierw zrozumieć jak posługiwać się layoutami. Twoja lektura na dziś: http://qt-project.org/doc/qt-4.8/layout.html

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