Portál AbcLinuxu, 28. října 2025 10:45
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()"))
Ale jinak vem první tutoriál s čudlíkem a koukni se na to.
Příště to dám do podmínek soutěže
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.
Ale nejaké pomalšie sa mi to fakt zdá
+ pár dalších zajímavých drobností, které mě zaujaly (Alba, kl. zkratka pro přechod do dalšího adresáře...)
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.