Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/75: Рейтинг темы: голосов - 75, средняя оценка - 4.96
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908

Включение/выключение(активная/неактивная) кнопки

18.01.2019, 09:07. Показов 15138. Ответов 4

Студворк — интернет-сервис помощи студентам
Добрый день. Прошу помощи понять почему кнопка после выбора файла остаётся неактивной?
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding: utf-8 -*-
import tkinter, os
from tkinter import *
import tkinter.filedialog
def butonON():
    ftypes = [('Все файлы', '*')]
    dlg = tkinter.filedialog.Open(filetypes=ftypes, title='Выберите файл', initialdir=os.path.abspath(__file__))
    filename = dlg.show()
    sen.config(state=NORMAL)
win = tkinter.Tk()
win.title("Тост")
frame = tkinter.Frame(win, bd=15, width=120)
frame.pack()
frame.columnconfigure(0, pad=4)
frame.rowconfigure(0, pad=4)
sfs = Button(frame, text="Выбрать файл", command=butonON).grid(row=1, column=3)
sen = Button(frame, text="Закончить редактирование", state=DISABLED).grid(row=1, column=4)
win.mainloop()
Вот ошибка:
Code
1
2
3
4
5
6
7
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.6/tkinter/__init__.py", line 1705, in __call__
    return self.func(*args)
  File "/home/sam/PycharmProjects/untitled6/test.py", line 9, in butonON
    sen.config(state=NORMAL)
AttributeError: 'NoneType' object has no attribute 'config'
Так же возможно сделать сетку без frame?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2019, 09:07
Ответы с готовыми решениями:

Включение и выключение кнопки
Что и где нужно воткнуть, чтоб после нажатия на кнопку она становилась недоступной? То есть, изначально в свойствах значение Enabled -...

Включение и выключение кнопки
Здравствуйте. Есть две кнопки, нужно чтобы по нажатию на первую - вторая выключалась и наоборот. И я заметил такую штуку, что когда пишешь...

Рандомное включение выключение кнопки
Есть две кнопки нужно сделать что бы при запуске программы рандомно нажималась одна из двух кнопок либо включен либо выключен. Что не как...

4
 Аватар для Semen-Semenich
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,298
18.01.2019, 12:22
измени
Python
1
sen = Button(frame, text="Закончить редактирование", state=DISABLED).grid(row=1, column=4)
на
Python
1
2
sen = Button(frame, text="Закончить редактирование", state=DISABLED)
sen.grid(row=1, column=4)
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
18.01.2019, 12:24  [ТС]
Semen-Semenich, и что это даст?
0
 Аватар для Semen-Semenich
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,298
18.01.2019, 12:36
Лучший ответ Сообщение было отмечено blackeangel как решение

Решение

Цитата Сообщение от blackeangel Посмотреть сообщение
понять почему кнопка после выбора файла остаётся неактивной
кнопка активируется, почему не объясню, где то читал и пр запомнил а суть уже дословно не помню.
Python
1
sen = Button(frame, text="Закончить редактирование", state=DISABLED).grid(row=1, column=4)
ты так переменной присваиваешь объект который на экране тк и он уже не имеет своих методов а
Python
1
2
sen = Button(frame, text="Закончить редактирование", state=DISABLED)
sen.grid(row=1, column=4)
sen у тебя становится экземпляром класса с своими методами к которым ты и обращаешься далее и потом ты только располагаешь этот экземпляр в окне.
1
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
18.01.2019, 12:41  [ТС]
Semen-Semenich, мда, странности однако. Спасибо за решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2019, 12:41
Помогаю со студенческими работами здесь

Активная и неактивная кнопка
Здравствуйте! Подскажите, пожалуйста, как установить на кнопку в форме активность кнопки по условию. Пример. Есть форма1. Из...

Активная/неактивная кнопка
На страничке две кнопки. При нажатии на одну кнопку(заблокировать/разблокировать) необходимо что бы вторая кнопка стала неактивной, а после...

кнопка активная и неактивная
Как сделать так, чтобы пока не заполнены все обязательные поля формы кнопка была бы неактивной (нельзя нажать)?

Активная/неактивная кнопка
Есть две кнопки. При нажатии на одну кнопку(заблокировать/разблокировать) необходимо что бы вторая кнопка стала неактивной, а после при...

Активная\неактивная форма
Есть 2 формы:тест и форма с выбором уроков.Дак вот когда начинаю проходить тест то форма с выбором уроков на нее могу перейти и еще раз...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru