PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmieren mit GUI-Toolkits


squall23
2007-12-27, 17:14:53
Ich spiele schon länger mit dem Gedanken mich mit einem GUI Toolkit (vermutlich GTK) näher zu beschäftigen. Allerdings hab ich zu dem Thema im Moment noch eine Frage. Wie wird es gemacht, wenn das Programm arbeiten muss, die GUI vom blockieren zu bewahren. Wird dazu ein eigener Thread gestartet der die Arbeit erledigt?

Ich denke da speziell an Situationen, bei denen nebenbei vielleicht noch eine Progressbar angezeigt wird. Ist da Multithreading die Lösung?

Coda
2007-12-27, 18:06:38
Ja.

Unfug
2007-12-27, 18:23:23
Delegates (Funktionszeiger), müssten dafür doch auch verwendbar sein.

Ist sowas wie ein Abo System.
Eine Klasse (A) meldet sich bei einer anderen Klasse (B) an.
Wenn die gewünschte Situation bei B eintrifft (z.B Download Complete), werden alle Abonnementen (also hier:A) benachrichtigt.

Aber größenteils natürlich Threads

Unfug
2007-12-27, 18:24:15
Doppel Post

Coda
2007-12-27, 18:31:46
Delegates (Funktionszeiger), müssten dafür doch auch verwendbar sein.

Ist sowas wie ein Abo System.
Eine Klasse (A) meldet sich bei einer anderen Klasse (B) an.
Wenn die gewünschte Situation bei B eintrifft (z.B Download Complete), werden alle Abonnementen (also hier:A) benachrichtigt.

Aber größenteils natürlich Threads
Das Problem ist hierbei dass die GUI eigentlich reaktiv bleiben soll (vor allem für Abbrechen o.ä.). Deshalb Threads.

squall23
2007-12-27, 19:04:44
Ok, also wie ich vermutet habe. Verwendet ihr dafür Boost, bzw. gibt es etwas Spezielles, dass ich damit beachten sollte?

Coda
2007-12-27, 19:09:13
Boost sollte es für diesen Zweck tun.

Gast
2007-12-27, 19:52:41
Danke für die Hilfe! Werde es damit versuchen.

Gast
2007-12-28, 19:46:22
Ok, also wie ich vermutet habe. Verwendet ihr dafür Boost, bzw. gibt es etwas Spezielles, dass ich damit beachten sollte?
Wenn das Toolkit noch nicht festgelegt ist kannst du dir mal Qt anschauen, das hat AFAIK eine eigene, plattformunabhängige Thread-Klasse von der man gemütlich ableiten kann...

Gast
2007-12-29, 09:36:06
QT ist unfrei nach LGPL Kriterien.

Gast
2007-12-31, 16:01:44
Mal ne Anfängerfrage, ich hoffe das ist ok in dem Thread hier.

In C# gibt es ja Forms.. gehören die fest zur Sprache oder ist das auch etwas externes? Und wie schlägt sich dieses WinForms im Vergleich zu fremden Bibliotheken? (wäre ja ganz praktisch, das gleich mitzubenutzen).

Was ich eigentlich fragen wollte: bald soll ja dieses WPF erscheinen. Was kann das besser (im Bezug auf die GUI-Erstellung von Programmen)? Wenn man mit Forms alles machen kann, was man so benötigt, wie soll man das dann toppen?

mfg

Bietchiebatchie
2007-12-31, 17:28:54
In C# gibt es ja Forms.. gehören die fest zur Sprache oder ist das auch etwas externes? Und wie schlägt sich dieses WinForms im Vergleich zu fremden Bibliotheken? (wäre ja ganz praktisch, das gleich mitzubenutzen).


Zur C#-Sprache selber gehören Forms natürlich nicht.
WinForms ist (bzw. war -> s.u.) die Standard-.Net-Bibliothek von Microsoft zur Erstellung von GUIs.


Was ich eigentlich fragen wollte: bald soll ja dieses WPF erscheinen.

Das ist schon seit einem Jahr draußen :(

Was kann das besser (im Bezug auf die GUI-Erstellung von Programmen)?

Ähm, googlen? Das kann man nicht in zwei Sätzen beantworten. Falls du neu anfangen willst, ist beides ok, WPF aber zu bevorzugen, da in Zukunft relevanter.

Wenn man mit Forms alles machen kann, was man so benötigt, wie soll man das dann toppen?

Willst du uns verarschen? Man kann immer alles irgendwie besser, schöner, schneller (...) machen.

Gast
2008-01-01, 14:14:46
QT ist unfrei nach LGPL Kriterien.
Inwieweit ist das ein Problem? Oder, um mal Klartext zu sprechen: OT.

rotalever
2008-01-01, 14:43:18
Dieses GUI von C# soll langsam sein, hab ich gelesen...

Coda
2008-01-01, 23:29:27
Wenn das GUI der Bottleneck ist, dann ist ganz schwer was schiefgelaufen...

rotalever
2008-01-02, 12:26:08
Wenn das GUI der Bottleneck ist, dann ist ganz schwer was schiefgelaufen...
Ich weiß ja nicht wie es wirklich ist, aber ein träges GUI kann wirklich nerven! Wenn ich irgendwo klicke und der reagiert nicht sofort, dann ist das schlecht. Wenn eine GUI langsam ist, dann verschlechtert das den Workflow enorm.

Bietchiebatchie
2008-01-02, 16:59:00
Das hat aber in den seltensten Fällen damit zu tun, dass eine langsame GUI-Lib genutzt wird, sondern der Code hinter dem Code einfach zu langsam ist bzw unnötig Ressourcen blockiert.