请原谅我的编程技巧(我是一个新手)。需要准备一个矩形网格内的画布框使用面向对象的方法,只使用一个类。但无法决定初始化和方法的定义。你知道吗
假设我有一个根作为基本窗口。我在里面画了一幅画布根。里面这个画布我需要有一个矩形网格,这些矩形的位置应该是用户选择的(以用户定义的方式创建矩形的功能已经解决了,所以没有问题)。层次结构如下…..root-->;Canvas(H1)-->;Machines(M1)这些矩形稍后需要使用父画布(不是根,而是嵌入它们的画布-H1)访问。我的问题是使用画布访问这些矩形。你知道吗
import tkinter as tk
from tkinter import ttk
from tkinter import font
from tkinter import *
import time
root=tk.Tk()
root.geometry("1860x820")
h=690
w=220
class Halls():
def __init__(self,hallname,**kwarg):
self.hallname=tk.Canvas(root,height=h,width=w)
self.hallname.place(x=100,y=200)
def machinecreation(self,machinename):
self.machinename=self.hallname.create_rectangle
(20,20,40,40)
H1=Halls('H1')
H1.machinecreation('M1')
H1.M1()
root.update()
它给出了一个属性错误,因为没有属性machinename。它的基本错误与python有关,而与tkinter无关。我提到的代码是一个基本的。将添加许多大厅(画布)和机器(矩形)。基本上,它就像试图创建一个画布对象(Hall),然后访问一个方法。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐