Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Модуль, основанный на tkinter

23.03.2016, 14:24. Показов 1115. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код модуля:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from tkinter import *
"""упрощенный tkinter
для обучения"""
root=Tk()
root.title('pyforms')
 
class Button(Button):
    def __init__(self,r=0,c=0,t='<empty>'):
        self.__b=Button(root,text=t)
        self.__b.grid(row=r,column=c)
 
    def setbackgroundcolor(self,c="light gray"):
        self.__b["bg"],self.__b["activebackground"],self.__b["disabledforground"]=c,c,c
 
    def settextcolor(self,c="light gray"):
        self.__b["fg"],self.__b["activeforeground"]=c,c
 
    def settext(self,t="<empty>"):
        self.__b["text"]=t
 
    def setclick(self,f):
        self.__b.bind('<Button-1>',f)
 
root.mainloop()
Код проги, использующей его:
Python
1
2
from pyforms import *
g=Button()
Такая ошибка:
Python
1
2
3
4
5
6
Traceback (most recent call last):
  File "C:/Ilya/testmini.py", line 2, in <module>
    g=Button()
  File "C:/Ilya\pyforms.py", line 9, in __init__
    self.__b=Button(root,text=t)
TypeError: __init__() got an unexpected keyword argument 'text'
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.03.2016, 14:24
Ответы с готовыми решениями:

Зависает модуль tkinter при использовании модуль Time || python
По приколу решил создать клик тест на питоне. При этом использовал два модуля tkinter для красоты и time для таймера. Но столкнулся с...

Python, модуль tkinter
Здравствуйте. помогите пожалуйста доделать код: Задание: Напишите следующую программу. На главном окне находится несколько флажков и...

Модуль quitter в Tkinter
from tkinter import quitter/quiter. Нет нишде такого модуля quitter.

6
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
23.03.2016, 14:29
Ошибка ну просто детская, разве ты сам не видишь проблемы? Посмотри на то какие аргументы принимает твой класс и посмотри на то, что ты ему передаешь
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.03.2016, 21:13  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from tkinter import *
"""упрощенный tkinter
для обучения"""
root=Tk()
root.title('pyforms')
*
class Button():
* * def __init__(self,r=0,c=0,t='<empty>'): #я же сюда параметры пихаю
        # не пойму ошибки
* * * * self.__b=Button(root,text=t)
* * * * self.__b.grid(row=r,column=c)
*
* * def setbackgroundcolor(self,c="light gray"):
* * * * self.__b["bg"],self.__b["activebackground"],self.__b["disabledforground"]=c,c,c
*
* * def settextcolor(self,c="light gray"):
* * * * self.__b["fg"],self.__b["activeforeground"]=c,c
*
* * def settext(self,t="<empty>"):
* * * * self.__b["text"]=t
*
* * def setclick(self,f):
* * * * self.__b.bind('<Button-1>',f)
*
root.mainloop()
Добавлено через 1 минуту
Мало с ООП работал. Можешь подсказать?

Добавлено через 3 минуты
Ой, стоп я понял к чему ты клонишь
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.03.2016, 21:14
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Мало с ООП работал. Можешь подсказать?
В данном случае ООП тут практически не причем. Ты посмотри какие аргументы принимает твой класс и посмотри, что ты туда передаешь.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.03.2016, 21:17  [ТС]
Хотя, лучше объясни

Добавлено через 38 секунд
Класс принимает необязательные аргументы

Добавлено через 2 минуты
Python
1
2
#если так передал будет верно?
k=Button(r=0,c=0,t="Button")
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.03.2016, 21:32
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Хотя, лучше объясни
Ты наткнулся на свои же грабли. Всем постоянно говорят не использовать импорт вида from <module> import *, но ты все равно его использовал и из-за этого у тебя возник конфликт имен (твой класс и класс из библиотеки называются одинаково...).
P.S Учись на на чужих ошибках, свои шишки набивать гораздо больней....

Это кстати не единственная проблема, если исправить конфликт имен код все равно не будет работать из-за неправильного создания mainloop, точнее создания не в том месте + бесмысленно указывать у класса твоей кнопки родителя, так как ты все равно не производишь наследования и не пользуешься им в этом классе ВООБЩЕ!
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
25.03.2016, 07:41  [ТС]
Спасибо
Я че то тупнул

Добавлено через 54 секунды
Искал ошибку в ините)
А она не там
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2016, 07:41
Помогаю со студенческими работами здесь

Python, модуль tkinter GUI
Здравствуйте, помогите пожалуйста не получается выполнить задание Задание: Напишите приложение с меню, содержащим два пункта: Color и...

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

Python, модуль tkinter, виджет Text
Здравствуйте. Помогите пожалуйста: 1. Напишите скрипт, описанный в данном уроке. Выполните его. 2. Измените функцию erase таким...

Почему у меня не работает модуль tkinter?
Только начал учить GUI, для этого мне надо работать с модулем tkinter, но он не работает вообще. Вот мой самый первый код: from...

Как подружить python модуль shedule и tkinter?
Добрый день! Пишу программу с графическим интерфейсом на python используя tkinter. Суть программы: 1) Пользователь вводит...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru