Форум программистов, компьютерный форум, киберфорум
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. Показов 1099. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru