Я изучаю, как использовать Tkinter для создания графических приложений, и я не могу понять, почему я не могу передать аргумент ширины и высоты через функцию класса __init__
.Передача аргументов через класс, наследующий от Tkinter
Редактировать: Извините, взволнован. То, что он делает, говорит мне, что я передаю слишком много аргументов. И независимо от того, как я меняю параметры класса __init__
и Frame
__init__
, ничего не меняется. Это слишком много или недостаточно.
Edit_2: Хорошо, это работает без ошибок. Но он все еще не изменяет размер рамки.
Вот что я работаю с .:
#!/usr/bin/python
from Tkinter import *
class App(Frame):
def __init__(self, parent, width, height):
Frame.__init__(self, parent)
self.parent = parent
self.width = width
self.height = height
self.initUI()
def initUI(self):
self.parent.title("App")
self.grid()
def main():
root = Tk()
app = App(root, 300, 250)
root.mainloop()
if __name__ == '__main__':
main()
Ваш код, как указано, работает для меня. Можете ли вы добавить трассировку исключения, которое вы получаете на свой вопрос? – Blckknght
Хм. Он работает без ошибок. Я разорвал несколько методов, используемых для размещения виджетов, чтобы не допустить его. Но кроме того, что он работает, он все еще не выполняет задачу, которую я пытаюсь выполнить. Для меня окно едва видно, когда оно вставляется. Затем я должен изменить размер вручную. –
Вы должны установить размер главного окна ('root' - главное окно) или размер кадра. Но usin 'self.width' не изменит размер кадра. Вы должны использовать 'self.config (width = new_width)' – furas