Tkinter: создание подкласса Button с дополнительными аргументамиPython

Программы на Python
Ответить
Anonymous
 Tkinter: создание подкласса Button с дополнительными аргументами

Сообщение Anonymous »

Я хочу создать подкласс Button в OPButtun. OPButton — это обычная кнопка с возможностью написания справочных сообщений при наведении курсора мыши. OPButton должен принимать любой возможный список параметров, который принимает три обычных конструктора Button, а также два моих собственных: сообщение и строковая переменная, в которую его можно записать.
Это мой код (предположительно работоспособный)

Код: Выделить всё

from tkinter import *
from tkinter import ttk

class OPButton(Button):
""" """
def ___init___(self, parent, string, message, *args, **kwargs):
ttk.Button.__init__(self, parent, *args, **kwargs)
self.bind("", command=lambda e: string.set(message))
self.bind("", command=lambda e: string.set(""))

if __name__ == '__main__':
root = Tk()
root.str= StringVar()
OPButton(root, root.str, "hovering the button", text="click here").pack()
ttk.Label(root, textvariable=root.str).pack()
root.mainloop()
и сообщение об ошибке:

Код: Выделить всё

Traceback (most recent call last):
File "C:\Users\planchoo\oPButton.py", line 19, in 
OPButton(root, "Hello World", "Bouton", text="Hello").pack()
TypeError: __init__() takes from 1 to 3 positional arguments but 4 were given
очевидно, я напутал с переменными аргументами.

Подробнее здесь: https://stackoverflow.com/questions/466 ... -arguments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»