Seite 1 von 1

Pmw ScrolledText Editierbarkeit

Verfasst: Sonntag 25. Oktober 2009, 17:15
von Indur_Dawndeath
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?

Verfasst: Sonntag 25. Oktober 2009, 17:37
von HWK

Code: Alles auswählen

scrolled_text.config(state=DISABLED)
MfG
HWK

Verfasst: Sonntag 25. Oktober 2009, 22:15
von Indur_Dawndeath
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?

Verfasst: Sonntag 25. Oktober 2009, 22:26
von numerix
Probier's mal damit (ungetestet):

Code: Alles auswählen

scrolled_text.config(state="disabled")

Verfasst: Sonntag 25. Oktober 2009, 22:56
von Indur_Dawndeath
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.

:?:

Verfasst: Sonntag 25. Oktober 2009, 23:04
von ms4py

Code: Alles auswählen

from Tkinter import DISABLED


Edit:
Hilft vllt gar nicht.

Code: Alles auswählen

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

Verfasst: Sonntag 25. Oktober 2009, 23:07
von 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')

Verfasst: Sonntag 25. Oktober 2009, 23:09
von numerix
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

Verfasst: Montag 26. Oktober 2009, 09:33
von Indur_Dawndeath

Code: Alles auswählen

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