Transparentes QTableWidget

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Hi.

Wie der Titel schon sagt würde ich gerne eine transparente Tabelle erstellen. Die Trennlinien und natürlich der Text in den Zellen sollen noch sichtbar sein.
Ich hab zahlreiche Seiten und die Dokumentation durchgestöbert und AutoFillBackground, setBackGroundMode und WA_NoSystemBackground irgendwie versucht, aber es hat nie geklappt.
Kann mir jemand helfen, bitte?
Gibt es irgendwo ein Tutorial, was überhaupt mal die Grundlegende Sturktur von Qt erläutert, ich hab da immernoch totale Probleme mit...

Danke.
Dies ist keine Signatur!
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Schau mal, ob

Code: Alles auswählen

background-color: transparent;
ist, was Du suchst.

@Tutorial:
Die Qt-Dokumentation bringt kleine Tutorials zum Nachvollziehen der grundlegenden Techniken mit. Auch für komplexere Sachen gibt es z.T. Beispiele. Ich bin mir allerdings nicht sicher, ob die PyQt in Python beiliegen.
Für ausfühlichere Beschreibung kann ich Dir die Bücher von Mark Summerfield empfehlen:
- C++ GUI Programming with Qt4
- Rapid GUI Programming with Python and QT: The Definitive Guide to PyQt Programming
lunar

In deutscher Sprache ist "Qt4: Einführung in die Applikationsentwicklung" empfehlenswert. Im November erscheint allerdings die zweite Auflage für Qt 4.7, so dass es ratsam ist, das Buch jetzt nicht zu kaufen, sondern nur auszuleihen.
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Danke für die Antworten. Hat alles geklappt!
Dies ist keine Signatur!
3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

@Shaldy
empfehlenswert ist auch
http://www.commandprompt.com in EN
Nokia/Trolltech hat mit Python nichts am Hut, die Doku von denen verstehst Du nur, wenn Du in cpp fitt bist.
Da ich aber von der Pythonseite komme und wegen der Einfachheit und Übersichtlichkeit bei Python bleibe, warte ich erstmal ab.
Guude Fritz 8) 8)
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Hmmm ...
A note on versions: when I wrote this book I mostly used the stable 2.x versions of Qt, but as soon as betas of Qt 3.x became available, I started integrating information about its improvements in the text. I will note wherever one version is different from the other. On the Opendocs webforum for this book you'll find versions of the examples both for Qt 2.x and Qt 3.x.
von hier

Wir sind grade bei 4.7 angekommen ... Evt etwas alt !?
Gruß
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

ichisich hat geschrieben:Wir sind grade bei 4.7 angekommen ... Evt etwas alt !?
Viel zu alt. Natürlich kann man Doku von Nokia zurückgreifen um die Informationen zu Bestätigen aber der Aufwand ist viel zu groß und so schwer zu verstehen ist die offizielle Doku nun auch wieder nicht.
3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

@Dasich
War ich jetzt gemeint? hab grad 1 meldung in meiner mailbox erhalten!
Natürlich ist der Link etwas alt, aber als Einstieg ok.
Ich bleib dabei: die Doku von riverbank computing zu PyQt4 ist keine Doku in Python und für Anfänger in Python OHNE cpp Kenntnisse wertlos.
Die site pyside.py ist auch nicht viel besser. Da werden mit "Umformungen", die man auch in der Both-Library findet, sog Wrapperfunktionen von cpp -> python gemacht.
Die Firma, mir der ich zusammenarbeite, kann sich sowas an Doku nicht erlauben.
Um die Bibliothek PyQt4 nutzen zu können, muß man wissen, wie Funktionen in cpp aufgerufen werden.
Dann ist es wohl möglich, alles in Python zu nutzen.
Mit gewissen Abstrichen kann ich GUI auch in Tkinter oder pythoncard oder andere nutzen.
Die Möglichkeiten von Qt sind natürlich riesig aber Nokia hat mit python wenig zu tun.

Guude Fritz
8) 8)
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Also ich hab gar keine C++ Kentnisse und hab auch nicht unbedingt vor welche zu erlangen aber ich hab trotzdem kein Problem damit die C++ Dokumentation zu nehmen und auf Python anzuwenden. Wenn man dass nicht hinbekommt kann man natürlich auf Alternativen zugreifen aber man muss sich dabei ständig im klaren sein dass die Informationen veraltet sind. Views, Models, der QGraphics Kram der von Plasma stark genutzt wird und sämtliche neuen Module wie Phonon oder QtDeclarative werden da sicherlich nicht behandelt sind es aber durchaus Wert mal angesehen zu werden.
ichisich
User
Beiträge: 134
Registriert: Freitag 1. Januar 2010, 11:52

Also so ganz nachvollziehen kann ich das nicht.

Was etwas schwerer sein kann ist evt. die Beispiele nach zu vollziehen. Die Klassen-Doku kann man fast 1:1 übernehmen. Man ignoriere die Zeiger und Referenz-operatoren (*, &) bei den Funktionsparametern und fertig.
Im Zweifel schaut man bei Riverbank vorbei wenn eine Funktion sich komisch verhält. Das gibt es selten aber manchmal.

Bei den Beispielen läßt man das ganze:

Code: Alles auswählen

QPushButton *pushButton = new QPushButton("Knopf");
weg und schreibt statt dessen

Code: Alles auswählen

pushButton = QPushButton("Knopf")
# oder um pythonischer zu sein
push_button = QPushButton("Knopf")
und fertig ist die Sause ...

Klar es gibt noch ein zwei, drei andere Feinheiten, aber wenn man sich ein PyQt-Code Beispiel hier aus dem Forum anschaut und scharf mit einem ähnlichen aus der Trolltech/Nokia Doku vergleicht, kann man schnell dahinter kommen was die Unterschiede sind. Man hat aber einfach die Doku in der Hand die Aktuell ist. Es hat sich doch extrem viel getan zwischen Version 2.x, 3.x und 4.7.
Das sind Generationen ohne einen Generationenkonflikt herauf schwören zu wollen ....

Lieber bisschen Zeit investieren die Unterschiede kennen zu lernen als krampfhaften nach PyQt-Dokus suchen davon hat man mehr. Oder man nimmt gleich Herrn Summerfield seine, die ist dann auch Aktuell und wie ich finde recht gut. (Auch wenn einem der ECHTE Pythone diesbezüglich evt. aufs Dach steigt ;-) )

Meine Meinung am Rande ...

Gruß
3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

ganz so einfach ist nun doch nicht.
Qt ist sehr komplex, da kann man nicht nur Buttons erzeugen. Zum Glück gibts bei Bing oder anderen Suchmachinen Beispiele. Das Problem sind nicht die Module, sondern der Zusammenbau des Codes.
Ich bleib dabei: die Doku zu PyQt4 ist nicht in Python sondern in Cpp und da muß man schon sehr tief in Cpp einsteigen.
ich wollte das nochmal unterstreichen, denn hier im Forum gibts einige Leute die reden andauernd von Doku, ja welche denn?
Der unschlagbare Vorteil ist beim Qt-Desinger ist der Codegenerator, also die Maske und der dazugehörende Code. ich kannte sowas Ähnliches als Programmgenerator für S5 von Siemens.
Das war 1 israelisches Produkt, wirklich professionell.
Tkinter ist einfacher und grade bei einfachen Grafikelementen leichter zu implementieren. (finde ich)
Abschliessend sag ich nochmal: es ist egal, mit welchem Tutorium man anfängt.
Nokia hat auch ne gute Doku von Blanchette, der ist online verfügbar. Aber nur in Cpp!
Schönes Wochenende
Fritz 8) 8)
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Bin ziemlicher Anfänger in C++, versteh aber den meisten Beispielcode, wenn ich ihn lese.
Ich finde Qt eigentlich ziemlich gut strukturiert, aber halt total komplex und breit gefächert, daher schwierig ;)

Danke nochmal für alle Antworten.
Dies ist keine Signatur!
3ff
User
Beiträge: 191
Registriert: Dienstag 22. Dezember 2009, 12:54
Wohnort: Odenwald Sued-Hessen

@Shaldy
es geht nicht darum, den cpp-Code zu verstehen, sondern ihn in Python (PyQt4) umzusetzen!
Was macht man denn mit einer cpp-Funktion die virtual void habichnichtgesehen() lautet?
Nochmal: wenn ich die Doku zu PyQt4 nur verstehen kann, weil ich gute Kenntnisse in Qt habe, dann brauch ich keine Pythonkenntnisse. Punkt.
Wenn das Nokia nicht versteht, dann haben sie halt 1 problem.
Nun sucht Nokia z.Zt. einen neuen CEO. Vielleicht wird sich dann was ändern. ich warte erstmal ab.
Das muß man sich als Kunde nicht bieten lassen, schliesslich verlangen sie auch noch Lizensgebühren.
Kommt Zeit, kommt Rat (altes deutsches Sprichwort)
Nokia ist die größte finnische Firma und hat im Handymarkt -bei Smartphones- den größten Marktanteil.
Apple kratzt da kräftig dran und das zeigt mir, das Apple besseres Marketing macht. Alleine die Apps von Apple machen mittlerweile mehrere Hundert Millionen $ Umsatz aus mit steigender tendenz, weil der Markt für Smartphones noch wächst.
das wird jetzt offtopic und deswegen
Guude Fritz 8) 8)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

3ff hat geschrieben:es geht nicht darum, den cpp-Code zu verstehen, sondern ihn in Python (PyQt4) umzusetzen!
Was macht man denn mit einer cpp-Funktion die virtual void habichnichtgesehen() lautet?
Man rät, zum beispiel dass man versuchen kann die Funktion ``habichnichtgesehen()`` auf dem entsprechenden Objekt aufzurufen. Wenns klappt - fein, wenn nicht kann man ja noch die Suchmaschine nutzen oder im Forum fragen. So kompliziert scheint mir das jetzt nicht… ich habe früher mal mit der wxWidgets C++ Dokumentation gearbeitet für wxPython und das ging auch ohne weiteres, auch ohne C++ jetzt genau zu verstehen.
wxPython Wiki hat geschrieben:It is written mainly in C++, but there are notes for wxPython and most of the time you can mentally convert from the C++ syntax to the wxPython syntax. You don't need to know C++ to benefit from this. A lot of wxPython programmers don't know any C++ at all, and they still find the wxWidgets documentation very useful.
Es gibt auch eine Übersetzungsanleitung, wenn man nicht zurecht kommt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

3ff hat geschrieben:Nochmal: wenn ich die Doku zu PyQt4 nur verstehen kann, weil ich gute Kenntnisse in Qt habe, dann brauch ich keine Pythonkenntnisse. Punkt.
So lief das afaik auch schon mit C++, da sich Qt aufgrund der Plattformabhaengigkeit ein Paralleluniversum aufbaut.
3ff hat geschrieben:Wenn das Nokia nicht versteht, dann haben sie halt 1 problem.
Nun sucht Nokia z.Zt. einen neuen CEO. Vielleicht wird sich dann was ändern. ich warte erstmal ab.
Das muß man sich als Kunde nicht bieten lassen, schliesslich verlangen sie auch noch Lizensgebühren.
Kommt Zeit, kommt Rat (altes deutsches Sprichwort)
Nokia ist die größte finnische Firma und hat im Handymarkt -bei Smartphones- den größten Marktanteil.
Apple kratzt da kräftig dran und das zeigt mir, das Apple besseres Marketing macht. Alleine die Apps von Apple machen mittlerweile mehrere Hundert Millionen $ Umsatz aus mit steigender tendenz, weil der Markt für Smartphones noch wächst.
das wird jetzt offtopic und deswegen
Guude Fritz 8) 8)
Du scheinst jedenfalls immernoch nicht zu verstehen, dass Nokia nichts mit PyQt zu tun hat. PyQt kommt von der kleinen Softwareschmiede Riverbank Computing.
lunar

@cofi: Ich fürchte auch, er will es nicht verstehen ...
Antworten