Найти - Пользователи
Полная версия: Tkinter, картинки на кнопках
Начало » GUI » Tkinter, картинки на кнопках
1 2 3
bialix
Все ники заняты
bialix
по поводу default - если установить это свойство в DISABLED, то кнопка будет с серым текстом и не реагировать на клик мышкой
А вот и нет :(
# -*- coding: cp1251 -*-
from Tkinter import *
import sys

def die():
sys.exit()

root = Tk()
button = Button(root, text = u"Кнопка", command = die)
button["default"] = DISABLED
button.pack()
root.mainloop()
Кнопка прекрасно работает…
Кстати, в доке говорится о трёх значениях: NORMAL, ACTIVE и DISABLED. Что это означает, не ясно…
В Tkinter так делать нельзя:


button = DISABLED


Нужно использовать метод config
Все ники заняты
bialix, спасибо, с твоей второй ссылки я и начал (см. первый пост в этой теме) :). Только дока местами куцая :).
bialix
впрочем, судя по книге есть еще свойство state, которое как я помню точно управляет состоянием кнопки.
Все ники заняты
bialix
В Tkinter так делать нельзя:
Это почему? Во многих местах в инете именно так и советуют делать (работать с виджетами, как со словарями).
bialix
Все ники заняты
bialix, спасибо, с твоей второй ссылки я и начал (см. первый пост в этой теме) :). Только дока местами куцая :).
Куцая – не то слово. Поэтому лучше иметь всегда под рукой tkinter.pdf. Но он тоже далек от полноты.

Лучше всего разжевано про Tkinter у Лутца.
bialix
Все ники заняты
bialix
В Tkinter так делать нельзя:
Это почему? Во многих местах в инете именно так и советуют делать (работать с виджетами, как со словарями).
Был неправ, спутал с чем-то похожим. Вобще Tkiner не самая красивая библиотека, но примитивная и на первых порах работать с ней просто.
Все ники заняты
bialix
Нужно использовать метод config
button.config(default = DISABLED)
Те же яйца, вид сбоку :).
bialix
Все ники заняты
bialix
Нужно использовать метод config
button.config(default = DISABLED)
Те же яйца, вид сбоку :).
Попробуй state=DISABLED
Все ники заняты
bialix
Попробуй state=DISABLED
Это, конечно, работает. Однако, мне не ясно назначение свойства “default”, собственно в этом и вопрос. Вопрос конечно не жизни и смерти :), но когда сталкиваешься с такими непонятками, это неприятно.
В доке сказано:
If set, the button is a default button. Tk will indicate this by drawing a platform specific indicator (usually an extra border). NOTE: The syntax has changed in 8.0b2!!!
Белиберда какая-то…
В другой доке:
If set, the button is a default button. Tkinter will indicate this by drawing a platform specific indicator (usually an extra border). The default is DISABLED (no default behavior). (default/Default)
В третьей доке:
NORMAL is the default; use DISABLED if the button is to be initially disabled
(grayed out, unresponsive to mouse clicks).
Дефолтный дефолт дефолтом погоняет…
bialix
Все ники заняты
bialix
Попробуй state=DISABLED
Это, конечно, работает. Однако, мне не ясно назначение свойства “default”, собственно в этом и вопрос. Вопрос конечно не жизни и смерти :), но когда сталкиваешься с такими непонятками, это неприятно.
В доке сказано:
If set, the button is a default button. Tk will indicate this by drawing a platform specific indicator (usually an extra border). NOTE: The syntax has changed in 8.0b2!!!
Белиберда какая-то…
В другой доке:
If set, the button is a default button. Tkinter will indicate this by drawing a platform specific indicator (usually an extra border). The default is DISABLED (no default behavior). (default/Default)
В третьей доке:
NORMAL is the default; use DISABLED if the button is to be initially disabled
(grayed out, unresponsive to mouse clicks).
Дефолтный дефолт дефолтом погоняет…
В Win32 API default – это состояние кнопки, которая нажимается по умолчанию если в диалоге нажать Enter. Кажется так.
Вот пример с 3мя допустимыми значениями для default:


from Tkinter import *

root = Tk()

Button(root, text='ACTIVE', default=ACTIVE).pack()
Button(root, text='NORMAL', default=NORMAL).pack()
Button(root, text='DISABLED', default=DISABLED).pack()

root.mainloop()

1я кнопка имеет дополнительную черную рамку. Остальные 2 ничем не отличаются на винде.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB