grafische oberfläche unter linux

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
stark
Beiträge: 8
Registriert: 06.03.2005 18:51
Wohnort: Kommern
Kontaktdaten:

grafische oberfläche unter linux

Beitrag von stark »

hallo,

was brauche ich um unter linux software für x-window basierte systeme zu programmieren? muß ich da irgendwelche bilbiotheken einbinden?
der weg ist das ziel
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Wieso Biblios einbinden? Bekommst du immer Fehler?

Eigendlich sollte nach der Installationsprozedur alles fertig eingestellt sein.


Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
stark
Beiträge: 8
Registriert: 06.03.2005 18:51
Wohnort: Kommern
Kontaktdaten:

Beitrag von stark »

ich weiß ja nicht mal wie die lib's heißen! und ich finde irgendwie nix richtiges dazu. ich dachte ich mach das mit der gtk+ oder so...
der weg ist das ziel
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Hi,

meines wissens brauchst Du nur gtk+ ( imo wird glaub ich mal Version 1 unterstützt ). Da Du ja ein programm compilen willst solltest Du die "devel" pakete von gtk ebenfalls installieren.

MfG, Thalius
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Thalius hat geschrieben:Hi,

meines wissens brauchst Du nur gtk+ ( imo wird glaub ich mal Version 1 unterstützt ). Da Du ja ein programm compilen willst solltest Du die "devel" pakete von gtk ebenfalls installieren.

MfG, Thalius
Aber doch nicht für XWindow. XWindow ist meines Wissens eine Lib so wie GTK aber halt nicht standard in PB. :/ korrigiert mich wenn ich daneben liege, aber ich glaube sowas mal gehört zu haben.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
the one and only
Beiträge: 696
Registriert: 26.09.2004 20:17
Kontaktdaten:

Beitrag von the one and only »

XWindows ist die Grundlage für alles was unter Linux mit Fenstern zu tun hat. Das ganze ist praktisch schichtenmäßig aufgebaut: Erst kommt der X-Server, der Sachen bereitstellt um überhaupt mal was grafisches zu machen. Dann kommen WindowManager. Die Windowmanager sorgen dafür dass sich Fenster bewegen lassen. Die bekanntesten sind KDE und Gnome. Gnome ist zum Beispiel in GTK+ geschrieben. GTK+, Qt und das ganze Zeug sind Librarys für Fenster, Buttons, und alles was mit grafischen Oberflächen zu tun hat. Fensteranwendungen schreibt man unter Linux genauso wie unter Windows, z.B.

Code: Alles auswählen

#WindowWidth  = 390
#WindowHeight = 350

If OpenWindow(0, 100, 200, #WindowWidth, #WindowHeight, #PB_Window_MinimizeGadget, "PureBasic - Gadget Demonstration")

 If CreateGadgetList(WindowID())
    
    Top = 10
    GadgetHeight = 24

    Frame3DGadget(#PB_Any, 10, Top, 370, 290, "Player...") : Top+20

    StringGadget(0,  20, Top, 200, GadgetHeight, "")
    ButtonGadget(1, 223, Top,  72, GadgetHeight, "Play")
    ButtonGadget(2, 295, Top,  72, GadgetHeight, "Stop")  : Top+35
    DisableGadget(2,1)
    
    GadgetToolTip(1,"Play the current song")
    
    PanelGadget(3, 20, Top, #WindowWidth-50, #WindowHeight-Top-60)
      AddGadgetItem(3, 0, "MP3 PlayList")
        ListViewGadget(4, 6, 10, 230, 148)

        For k=0 To 30
          AddGadgetItem(4, -1, "Music Song n° "+Str(k))
        Next

        ButtonGadget(5,  250, 10, 80, GadgetHeight, "Add")
        ButtonGadget(6,  250, 38, 80, GadgetHeight, "Remove")
        ButtonGadget(7,  250, 66, 80, GadgetHeight, "Select")
        GadgetToolTip(7, "Select the current song")
        
        TrackBarGadget(17, 10, 168, 310, 25, 0, 100)

      AddGadgetItem(3, 1, "Options")
        Top = 10
        CheckBoxGadget(10, 10, Top, 250, GadgetHeight, "Enable low-pass filter") : Top+30
        CheckBoxGadget(11, 10, Top, 250, GadgetHeight, "Enable visual plug-in")  : Top+30
        ComboBoxGadget(12, 10, Top, 250, 100) : Top+30
          AddGadgetItem(12, -1, "FireWorks")
          AddGadgetItem(12, -1, "OpenGL spectrum")
          AddGadgetItem(12, -1, "Bump bass")
        SetGadgetState(12,0)
        DisableGadget(12,1)
        
        OptionGadget(13, 10, Top, 80, GadgetHeight, "640*480") : Top+20
        OptionGadget(14, 10, Top, 80, GadgetHeight, "800*600") : Top+20
        OptionGadget(15, 10, Top, 80, GadgetHeight, "1024*768")
        SetGadgetState(13, 1)
        
        ButtonGadget(16, 150, Top, 80, GadgetHeight, "Info")
    CloseGadgetList()

    TextGadget  (9, 10, #WindowHeight-30, 250, 24, "PureBasic - Gadget demonstration")
    ButtonGadget(8, #WindowWidth-100, #WindowHeight-36, 80, 24, "Quit")

  EndIf
  
  SetGadgetState(3, 0)
  

  Repeat
    EventID = WaitWindowEvent()
    
    If EventID = #PB_EventGadget

      Select EventGadgetID()
        Case 0
          If EventType() = #PB_EventType_ReturnKey
            MessageRequester("Info", "Return key pressed", 0)
            ActivateGadget(0)
          EndIf
          
        Case 1 ; Play
          DisableGadget(2,0)  ; Enable the 'Stop' gadget
          DisableGadget(1,1)  ; Disable the 'Play' Gadget
      
        Case 2 ; Stop
          DisableGadget(1,0)  ; Enable the 'Play' gadget
          DisableGadget(2,1)  ; Disable the 'Stop' Gadget
        
        Case 4
          If EventType() = 2
            SetGadgetText(0, GetGadgetText(4)) ; Get the current item from the ListView..
          EndIf

        Case 5 ; Add
          AddGadgetItem(4, -1, "New Item Added...")

        Case 6 ; Remove
          RemoveGadgetItem(4, GetGadgetState(4)) ; Remove the current element of the ListView

        Case 7 ; Select
          SetGadgetText(0, GetGadgetText(4)) ; Get the current item from the ListView..
  
        Case 8 ; Quit...
          EventID = #PB_EventCloseWindow

        Case 11 ; Enable PlugIn..
          DisableGadget(12, 1-GetGadgetState(11))
          
        Case 16 ;
          If GetGadgetState(13) : Result$ = GetGadgetText(13) : EndIf
          If GetGadgetState(14) : Result$ = GetGadgetText(14) : EndIf
          If GetGadgetState(15) : Result$ = GetGadgetText(15) : EndIf
         
          MessageRequester("Info", "Selected screen mode: "+Result$, 0)
        
        Case 17
          SetGadgetText(0, Str(GetGadgetState(17)))
          
      EndSelect

    EndIf

  Until EventID = #PB_EventCloseWindow

EndIf

End 
Das ist ein einfaches Gadgetbeispiel aus der Hilfe. Lässt sich bei mir unter Windows wie auch unter Linux ohne Probleme compilieren (Hab Fedora Core 3 Linux)

Librarys einbinden muss man nicht.
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

Die Windowmanager[...] Die bekanntesten sind KDE und Gnome.
Flasch geraten.
kdm ist der Display Manager von KDE
gdm ist der Display Manager von Gnome.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
mipooh
Beiträge: 226
Registriert: 12.12.2004 04:49
Kontaktdaten:

Beitrag von mipooh »

Die benötigten Libraries werden von Linux zur Verfügung gestellt, wenn sie denn da sind. Bei mir war das zB der Fall (Kanotix) und bei the one and only (Fedora) offensichtlich auch.
Wenn also etwas nicht geht, dann müsstest Du nachinstallieren, was, das steht in der README im Purebasic Paket.
Ausserdem muss Purebasic installiert werden, wie, das steht in der INSTALL Datei. Da sind nur 3 Befehle zu pasten.
Dann hast Du schonmal den Compiler.
Um nun noch eine IDE zu haben, brauchst Du den Download von hier:
http://forums.purebasic.com/german/view ... =ide+linux

Gruss
Mipooh
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Flasch geraten.
kdm ist der Display Manager von KDE
gdm ist der Display Manager von Gnome.
Display Manager <> Window Manager

Thalius
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

dito:

Thema ist fast zwei Jahre alt.
bitte alle dran denken.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten