Seite 1 von 1
Platzieren von Textfeld
Verfasst: Donnerstag 7. Dezember 2006, 18:25
von Bamba
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.
Verfasst: Donnerstag 7. Dezember 2006, 19:18
von Bamba
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.
Verfasst: Donnerstag 7. Dezember 2006, 19:29
von sape
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
Verfasst: Freitag 8. Dezember 2006, 11:46
von Bamba
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
Verfasst: Freitag 8. Dezember 2006, 13:19
von CM
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
Verfasst: Mittwoch 13. Dezember 2006, 19:34
von Bamba
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?
Verfasst: Freitag 15. Dezember 2006, 10:10
von CM
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.