Есть ли способ сделать текстовый виджет Tkinter доступным только для чтения?

Вот так: ( РЕДАКТИРОВАТЬ : проверено)

static string FormatNumber(int num) {
    if (num >= 100000)
        return FormatNumber(num / 1000) + "K";
    if (num >= 10000) {
        return (num / 1000D).ToString("0.#") + "K";
    }
    return num.ToString("#,0");
}

Примеры:

  • 1 => 1
  • 23 => 23
  • 136 => 136
  • 6968 => 6,968
  • 23067 => 23.1K
  • 133031 => 133K

Обратите внимание, что это даст странные значения для чисел> = 10 8 .
Например, 12345678 становится 12.3KK.

52
задан rectangletangle 1 October 2010 в 07:47
поделиться

1 ответ

Это - то, как я сделал это. Создание состояния, отключенного в конце, не разрешает пользователю редактировать текстовое поле, но создание состояния, нормального перед текстовым полем, редактируется, необходимо, чтобы текст был вставлен.

from tkinter import *
text=Text(root)
text.pack()
text.config(state="normal")
text.insert(END, "Text goes here")
text.config(state="disabled")
2
ответ дан 7 November 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: