Pmw ScrolledText Editierbarkeit

Fragen zu Tkinter.
Antworten
Indur_Dawndeath
User
Beiträge: 5
Registriert: Sonntag 25. Oktober 2009, 14:24

Hallo,

ist es möglich bei der Komponente "ScrolledText" die Editierbarkeit auf 0 zu stellen? Ich meine, so, dass der Benutzer den Text nur ansehen und nicht verändern kann?
Oder mit welcher Komponente mach ich das am Besten?
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Code: Alles auswählen

scrolled_text.config(state=DISABLED)
MfG
HWK
Indur_Dawndeath
User
Beiträge: 5
Registriert: Sonntag 25. Oktober 2009, 14:24

Das geht leider nicht. Ich habe:

Code: Alles auswählen

self._ScrolledTextSequenzTrypsin = Pmw.ScrolledText(
            root,
            usehullsize=1,
            hull_width=400,
            hull_height=150,
            labelpos='nw',
            label_text="splitted sequence",
)
self._ScrolledTextSequenzTrypsin.config(state=DISABLED)
Da kommt der Fehler:

Traceback (most recent call last):
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui.py", line 102, in <module>
if __name__ == '__main__': main()
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui.py", line 95, in main
demo = CustomSimGui(root)
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui_ui.py", line 60, in __init__
self._ScrolledTextSequenzTrypsin.config(state=DISABLED)
NameError: global name 'DISABLED' is not defined

Und wenn ich statt
"state=DISABLED" " statt='disabled' " eingebe kommt der Fehler:

Traceback (most recent call last):
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui.py", line 102, in <module>
if __name__ == '__main__': main()
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui.py", line 95, in main
demo = CustomSimGui(root)
File "D:\Projekte\Java Eclipse\TrypsinSimulator\src\simGui_ui.py", line 60, in __init__
self._ScrolledTextSequenzTrypsin.config(state='disabled')
File "<string>", line 1, in config
File "F:\Program Files\Pyton 2.6.3\lib\lib-tk\Tkinter.py", line 1202, in configure
return self._configure('configure', cnf, kw)
File "F:\Program Files\Pyton 2.6.3\lib\lib-tk\Tkinter.py", line 1193, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-state"


Woran liegt das?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Probier's mal damit (ungetestet):

Code: Alles auswählen

scrolled_text.config(state="disabled")
Indur_Dawndeath
User
Beiträge: 5
Registriert: Sonntag 25. Oktober 2009, 14:24

Da kommt auch wieder:
_tkinter.TclError: unknown option "-state"

In Codebeispielen diverser Seiten wird disabled auch groß geschrieben.
Ich nutzt PyDev, aber wenn ichs mit der normalen Python IDLE (v. 2.6.3) starte, kommen jeweils auch die gleichen Fehler.

:?:
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Code: Alles auswählen

from Tkinter import DISABLED


Edit:
Hilft vllt gar nicht.

Code: Alles auswählen

In [2]: DISABLED
Out[2]: 'disabled'
BlackJack

Dokumentation lesen hilft auch manchmal. `Pmw`-Widgets sind für gewöhnlich aus anderen, "normalen" `Tkinter`-Widgets zusammengesetzt. So ein `ScrolledText` zum Beispiel aus einem Textfeld und zwei Scrollbalken. Und `Pmw`-Widgeds bieten die Methode `component()` um an die Einzelteile heran zu kommen. Also zum Beispiel:

Code: Alles auswählen

scrolled_text.component('text').config(state='disabled')
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Das sollte auch funktionieren:

Code: Alles auswählen

scrolled_text.config(text_state="disabled")
Mehr gibt's hier: http://pmw.sourceforge.net/doc/ScrolledText.html
Indur_Dawndeath
User
Beiträge: 5
Registriert: Sonntag 25. Oktober 2009, 14:24

Code: Alles auswählen

scrolled_text.component('text').config(state='disabled')
Das funktioniert. Vielen Dank!
Antworten