Platzieren von Textfeld

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Bamba
User
Beiträge: 62
Registriert: Dienstag 31. Oktober 2006, 08:48

Hallo Leute,

ich verstehe nicht ganz, wie man ein Textfeld (textctrl) bei einem normalem window auf die rechte Seite bekommt.

Code: Alles auswählen

d = wx.TextCtrl(self, -1,"",size=(200, 1000), style=wx.TE_MULTILINE|wx.TE_PROCESS_ENTER)
Wie bitte bekomme ich das bei meinem normalem window auf die rechte Seite - egal, ob der User das Fenster kleiner oder größer macht - es soll immer rechts bleiben.

Danke.
Bamba
Bamba
User
Beiträge: 62
Registriert: Dienstag 31. Oktober 2006, 08:48

Hallo,

ich möchte gleich eine zweite Frage hinterherstellen:

Wie kann ich einrichten, dass ein User in das Textfeld nichts schreiben kann. Bei Staticctrl geht da ja, aber ich möchte lieber dieses Aussehen haben.

Danke.
Bamba
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Bamba hat geschrieben:[...]
Wie kann ich einrichten, dass ein User in das Textfeld nichts schreiben kann. Bei Staticctrl geht da ja, aber ich möchte lieber dieses Aussehen haben.
[...]
Hi.
Als Window styles "wx.TE_READONLY" angeben.

http://wxwidgets.org/manuals/2.6.3/wx_w ... wxtextctrl

lg
Bamba
User
Beiträge: 62
Registriert: Dienstag 31. Oktober 2006, 08:48

Danke,

aber wie bekomme ich es hin, dass die platzierten Objekte sich der Fenstergröße "anpassen", will heißen, dass sie mitwandern, wenn die Fenstergröße verändert wird.

Bamba
Bamba
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

schau Dir mal in der Demo den Teil über die Sizer an - was Du willst ist ja nicht, daß Deine Widgets wild durcheinander wuseln, sondern, daß sie relativ zu anderen Widgets richtig ausgerichtet bleiben.

Gruß,
Christian
Bamba
User
Beiträge: 62
Registriert: Dienstag 31. Oktober 2006, 08:48

Muss ich also jeden Button, jedes Textfeld und jeden Widget in einen Sizer packen, den definieren, wo er liegt, damit ich festlegen kann, wo der ensprechende Button liegt? Gibt es keine Möglichkeiten die pOstionen anzugeben, wie bei html?
Bamba
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Jein, nicht jedes Widget braucht einen eigenen Sizer - je nach Layout kann man Sizer bequem schachteln und Widgets mehrfach darin einbauen. Schau Dir wirklich mal die Demo an - die ist viel besser, als wir hier mit wenigen Worten sagen können. Und wenn dann ein Problem auftaucht, bist Du hier genau richtig.

Bzgl. html: html ist keine Programmiersprache mit der Du GUIs ohne existierendes Framework bauen kannst. D. h. Sei froh über die Sizer. Ist wirklich ganz einfach. Manchmal genau so einfach wie eine Tabelle in html, wo Du sagst: "Element 1, Du nimmst 20 % der Breite ein. Element 2, Du den Rest." In wxPython mit einem BoxSizer (aus der Demo):

Code: Alles auswählen

    box = wx.BoxSizer(wx.HORIZONTAL)
    box.Add(SampleWindow(win, "one"), 0, wx.EXPAND)
    box.Add(SampleWindow(win, "two"), 0, wx.EXPAND)
    box.Add(SampleWindow(win, "three"), 3, wx.EXPAND)
    box.Add(SampleWindow(win, "four"), 1, wx.EXPAND)
    box.Add(SampleWindow(win, "five"), 1, wx.EXPAND)
Oder schau Dir mal den GridBagSizer an ...

Gruß,
Christian, der auch eine ziemliche Weile gebraucht hat Sizer schätzen zu lernen.
Antworten