Új hozzászólás Aktív témák

  • cousin333

    addikt

    válasz tvamos #557 üzenetére

    Tehát az első mondatodban QT helyett Tk-t kell érteni?

    A helyzet az, hogy a GUI egy olyan téma, amit én is kerülgetek, mint a forró kását. Inkább az egyszerűbb, "szkriptesebb" irányba mentem el, ami az IPython Notebook (újabb nevén Jupyter Notebook) használatát jelenti a klasszikus adatgyűjtés-feldolgozás-ábrázolás-mentés négyes mentén, változó sorrendben.

    De terveim közt szerepel "rendes" GUI-k létrehozása is. Eddig arra jutottam, hogy Qt-t használok majd. Létezik hozzá egy Qt Designer nevű program, amivel a klasszikus drag'n'drop-pal tudod megtervezni a felületet (hasonlóan a LabView-höz vagy CVI-hoz). A program kimenete egy ui kiterjesztésű fájl. Ezt a Python programodba az alábbi kóddal - vagy ennek megfelelő módosításával - lehet beilleszteni (itt találtam):

    import sys
    from PyQt4 import QtGui, uic

    class MyWindow(QtGui.QMainWindow):
    def __init__(self):
    super(MyWindow, self).__init__()
    uic.loadUi('mywindow.ui', self)
    self.show()

    if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = MyWindow()
    sys.exit(app.exec_())

    Innentől az UI elemeit a Python kódból tudod piszkálni. A szokásos csúszkák, gombok, kapcsolók mellett az egyik ilyen lehetséges elem a Matplotlib widget, tehát tulajdonképpen egy grafikon felületet integrálhatsz az UI-ba.

    A fenti módszert már kipróbáltam és működött, de élesben még nem használtam. A WinPython nevű Python disztribúcióban minden benne van, de pl a cross-platform Anaconda-ban is szinte minden, a Qt Designer meg egy külön telepíthető program.

    Számomra a "végső megoldás" egy olyan program lehetne, amiben a GUI elemek mellett egy nagyobb szövegmezőbe érvényes Python kódot lehet írni és futtatni, ezáltal egyesíthetném a GUI-alapú előre megírt programok előnyeit egy Python-féle szkriptnyelv rugalmasságával.

Új hozzászólás Aktív témák