Portál AbcLinuxu, 30. dubna 2025 17:20

Pokus o prohlížeč obrázků + lama + nevím jak na události

8.1.2007 15:13 | Přečteno: 1438× | poslední úprava: 8.1.2007 15:14

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

       

Hodnocení: 100 %

        špatnédobré        

Anketa

dle vás?
 (17 %)
 (83 %)
Celkem 6 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

8.1.2007 15:25 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Odpovědět | Sbalit | Link | Blokovat | Admin
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
8.1.2007 15:35 XMurder | skóre: 25 | blog: introvert
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Ted zkousim treba tohle ale nejde:
app.connect(MenuBar.File.Exit, QtCore.SIGNAL("clicked()"), QtCore.SLOT("quit()"))
Jinak anglinar moc nejsem, tak sem dost pozadu:(
8.1.2007 15:49 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
No myslím že chyba bude v tom že QMenuBar nemá signál clicked() ale používa signál triggered(), ktorý je jeden pre celý menu bar (jednotlivé položky menu nie sú same o sebe widgetmi), viď http://doc.trolltech.com/4.2/qmenubar.html#triggered (QMenuItem dedí QAction)
8.1.2007 15:51 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Aha tak položky menú sú widgety a signál triggered sa môže použiť aj pre QMenuItem ;-)
8.1.2007 16:00 XMurder | skóre: 25 | blog: introvert
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Supr, stačilo zaměnit signál clicked() za triggered() a už se program vypíná sám:) Děkuji
Josef Kufner avatar 8.1.2007 15:39 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Odpovědět | Sbalit | Link | Blokovat | Admin
Podívej se na root.cz. Právě tam začal seriál o Qt4. Počkej si na nějaký ten další díl a prej se to dovíš ;-)

Ale jinak vem první tutoriál s čudlíkem a koukni se na to.
Hello world ! Segmentation fault (core dumped)
8.1.2007 20:46 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Odpovědět | Sbalit | Link | Blokovat | Admin
Říkal jsem si, že by byla škoda jen tak ponechat zavedený účet svému osudu. Takže jsem čtenářům tohoto zápisku připravil malý bonus. Heslo k mému účtu na abclinuxu je "prasak" (bez uvozovek), login "ignor". Šťastnému výherci gratuluji předem :-)
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
8.1.2007 21:12 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
no to vis, od registracie som sa neodhlasil, kvoli tebe to menit nebudem :D
8.1.2007 21:38 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Tak někdo už vyhrál. Škoda, že se nepochlubil :-( Příště to dám do podmínek soutěže :-)
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
8.1.2007 22:16 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Teď zavřu okno prohlížeče a při příštím spuštění už nebudu přístup mít asi nebudu. Takže čus! Snad ten nový majitel účtu taky občas něco napíše...

Měl jsem vás všechny rád!
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
8.1.2007 21:13 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Odpovědět | Sbalit | Link | Blokovat | Admin
skus sa pozriet na Gtk, aby si nelutoval...
9.1.2007 08:52 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
muhehe
Kuolema Kaikille (Paitsi Meille).
9.1.2007 10:56 XMurder | skóre: 25 | blog: introvert
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
?
Tak jsem se na ten PyGTK mrknul trochu zblýzka, musím říct že je v něčem lepší, obsahuje víc zajímavých tříd (třeba ten aboutbox je jednoduchý oproti PyQT, kde bych to musel všechno psát), nevím nevím, zkusím PyGTK a když to v tom půjde rychleji a lépe a když to pochopim tak jej použiju. Asi jsem se mýlil že je nejlepší PyQT...
9.1.2007 13:38 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
No úplne najlepšie je Qt priamo v C++
9.1.2007 13:40 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Ano, about dialog je to nejtěžší, co v Qt je :)))
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
Kuolema Kaikille (Paitsi Meille).
9.1.2007 14:58 XMurder | skóre: 25 | blog: introvert
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Ano, about dialog je to nejtěžší, co v Qt je :))) /kod/
Diky za postup. Ano plácám kraviny.
Mnoho štěstí s PyGTK
Vž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ýzka
Chybí 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.
9.1.2007 16:12 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
skus sa pozriet na tuto diskusiu

ale je to samozrejme tvoja volba
9.1.2007 17:04 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
No porovnanie kódu pri 5 riadkovom hello worlde, to je teda fakt dôvod ! To je skoro ako povedať že GNOME štartuje o dve sekundy rýchlejšie, a nevadí že inak reaguje výrazne pomalšie
9.1.2007 17:20 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
tvrdi kto?
9.1.2007 17:26 ...............23 | skóre: 15 | blog: Various Stuff blog
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Tak teda imho. To bol len príklad, a aby som posilnil miniflame ;-) Ale nejaké pomalšie sa mi to fakt zdá :-D
9.1.2007 13:14 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Odpovědět | Sbalit | Link | Blokovat | Admin
Nebylo by lepší udělat menu a navázat na něj QAction? Až budete dělat toolbar, QAction se Vám bude hodit.

Petr
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
9.1.2007 15:00 XMurder | skóre: 25 | blog: introvert
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Diky, zkusim to pochopit:))
10.1.2007 08:36 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: Pokus o prohlížeč obrázků + lama + nevím jak na události
Toto by Vám mohlo dost pomoci:

C++ GUI Programming with Qt 3 http://phptr.com/content/images/0131240722/downloads/blanchette_book.pdf

Je tam všechno moc pěkně vysvětleno. Mám ji vytištěnou :-).

Petr
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Marián Kyral avatar 10.1.2007 07:40 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
Rozbalit Rozbalit vše ShowImg
Odpovědět | Sbalit | Link | Blokovat | Admin
Díky za odkaz na předchozí blog. V diskuzi byl zmíněn ShowImg, tak jsem ho zkusil a zdá se, že mám kandidáta na náhradu za gqview. Rychlost generování náhledů je skvělá. U každé KDE aplikace, kterou jsem zatím zkoušel, to byl velký problém.

+ Možnost tagování; možná, že zahodím i kphotoalbum. Tam to bylo řešeno dost těžkopádně. U ShowImg stačí jen chytnout a přesunout a hotovo. Ale na druhou stranu jsem tady narazil na nějaké problémy. Až se vyřeší tak to pro mě bude jasná volba :-)

+ pár dalších zajímavých drobností, které mě zaujaly (Alba, kl. zkratka pro přechod do dalšího adresáře...)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.