Portál AbcLinuxu, 30. dubna 2025 17:20
Ahoj, potřebuji pomoct s PyQt4...
Jsem v tom naprostý začátečník, ale snažím se...
#!/usr/bin/env python import sys from PyQt4 import QtCore, QtGui app = QtGui.QApplication(sys.argv) # MainWindow MainWindow = QtGui.QMainWindow() MainWindow.setWindowTitle("Picturerus") MainWindow.resize(300, 250) # MenuBar MenuBar = QtGui.QMenuBar(MainWindow) MenuBar.File = MenuBar.addMenu("&File") MenuBar.Edit = MenuBar.addMenu("&Edit") MenuBar.Image = MenuBar.addMenu("&Image") MenuBar.View = MenuBar.addMenu("&View") MenuBar.Options = MenuBar.addMenu("O&ptions") MenuBar.Help = MenuBar.addMenu("&Help") MenuBar.File.Open = MenuBar.File.addAction("&Open") MenuBar.File.addSeparator() MenuBar.File.Exit = MenuBar.File.addAction("E&xit") MainWindow.setMenuBar(MenuBar) #ToolBar ToolBar = QtGui.QToolBar(MainWindow) ToolBar.setMovable(0) ToolBar.Open = ToolBar.addAction("Open") MainWindow.addToolBar(ToolBar) MainWindow.show() sys.exit(app.exec_())
Můj problém je ten, že nevím jak správně napsat funkci, která se spustí po stisknutí tlačítka pod MenuBar.File.Exit
a vypne a vymaže program z paměti (prostě a dobře ukončit). Hraju si různě s app.connect, ale vždycky to nejde, nemůžu nikde najít správný zápis. A nebylo by lepší pro exit programu udělat extra funkci na kterou budou odkazovat ostatní tlačidla, abych to ke každému nemusel psát zvlášť? Kdyžtak díky za pomoc, a jestli jsem v kodu udělal chyby, nekamenovat prosím.
Jde o ten obrázkový prohlížeč podobný IrfanViewu, přijímám patche, opravy, nové funkce a tak..aby se na tom mohla podílet celá linuxová komunita (posiat na cyphr0(at)gmail.com, později bude web a někam pastnu zdrojáky). Ještě jsem nevymyslel pořádný název (název Picturerus mi připomíná Ruské pornostránky:)), ale to se časem ukáže. Tak se mějte
Tiskni
Sdílej:
Hraju si různě s app.connect, ale vždycky to nejde, nemůžu nikde najít správný zápis.Pre začiatok by si si mohol aspoň zbežne prebehnúť niečo o signáloch a slotoch. Ja som ale čo sa týka Pythonu úplná lama, takže s tým moc nepomôžem
app.connect(MenuBar.File.Exit, QtCore.SIGNAL("clicked()"), QtCore.SLOT("quit()"))
pvanek@pvanek:~> python
Python 2.5 (r25:51908, Nov 27 2006, 19:14:46)
[GCC 4.1.2 20061115 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> from qt import *
>>> a = QApplication(sys.argv)
>>> QMessageBox.about(None, 'caption', 'text')
Ale jinak nechť je každý svého štěstí strůjce. Mnoho štěstí s PyGTK. Heh, ale všechno zlé je občas i dobré, alespoň že sis nezvolil wx. Už se těším, až se dostaneš ke složitějším vecem, ehm, zblýzka
Ano, about dialog je to nejtěžší, co v Qt je :))) /kod/Diky za postup. Ano plácám kraviny.
Mnoho štěstí s PyGTKVždycky něco plácnu, tak to beru z5. Kašlu na PyGTK a zůstávám u PyQT, PyGTK je pro mě nepřehledný ani se mi vtom nepodařilo napsat menu, PyQT je jednodušší.
Už se těším, až se dostaneš ke složitějším vecem, ehm, zblýzkaChybí mi dokumentace v češtině, na anglinu nemám nervy, tak příště v pondělí na root.cz vyjdě další článek ze seriálu o PyQT, už se nemůžu dočkat.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.