disabled entry nicht erkennbar
Verfasst: Montag 12. Oktober 2015, 19:37
Hallo,
ich bin dabei ein Tabellenblatt zu erstellen, so wie das in der tkintertable realisiert ist - allerdings für Python3.
Mein erster Versuch ist sozusagen eine Tabelle die zeilenweise aufgebaut ist. Ich bin dabei von Entry's ausgegangen, die ich erweitert habe. Dabei sollte die Tabelle auch spaltenweise ``disabled`` oder ``readonly`` geschaltet werden können, so wie dies in der Doku des New-Mexiko-Tech für das Entry angegeben ist (Attribut ``state`` für das Entry).
Schalte ich ein solches Entry jedoch auf ``readonly`` oder ``disabled`` dann kann ich nichts mehr lesen???
Hier mein Code:
ich bin dabei ein Tabellenblatt zu erstellen, so wie das in der tkintertable realisiert ist - allerdings für Python3.
Mein erster Versuch ist sozusagen eine Tabelle die zeilenweise aufgebaut ist. Ich bin dabei von Entry's ausgegangen, die ich erweitert habe. Dabei sollte die Tabelle auch spaltenweise ``disabled`` oder ``readonly`` geschaltet werden können, so wie dies in der Doku des New-Mexiko-Tech für das Entry angegeben ist (Attribut ``state`` für das Entry).
Schalte ich ein solches Entry jedoch auf ``readonly`` oder ``disabled`` dann kann ich nichts mehr lesen???
Hier mein Code:
Code: Alles auswählen
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Modul: sejtable.view
=====================================================================
Simulation eines Tabellengrids, wobei die Zellen im
Tabellenblatt vom Typ ``tkinter.Entry`` sind.
"""
import logging
import tkinter as tk
Logger = logging.getLogger("sejtable")
class TkCell(tk.Entry):
def __init__(self, master, value, row=-1, col=-1, **kwargs):
kwargs["relief"] = "flat"
tk.Entry.__init__(self, master, **kwargs)
# Init von TkCell
Logger.debug("<%s> init starts [value=%s, row=%s, col=%s, %s",
self.__class__.__name__, value, row, col, kwargs)
self.col = int(col)
self.row = int(row)
self.insert(0, value)
Logger.debug("<%s> init done", self.__class__.__name__)
def _tests_():
logging.basicConfig(level=10, name="sejtable")
root = tk.Tk()
normal = TkCell(root, "1, 1", 1, 1,
state="normal")
normal.grid(row=1, column=1)
readonly = TkCell(root, "2, 1", 2, 1,
state="readonly")
readonly.grid(row=2, column=1)
disabled = TkCell(root, "3, 1", 2, 1,
state="disabled")
disabled.grid(row=3, column=1)
root.mainloop()
if __name__ == '__main__':
_tests_()