簡體   English   中英

帶有tkinter的Python,按鈕之間的線條繪制問題

[英]Python with tkinter, problems with the line drawing between buttons

我目前正在學習Python,並開始使用ktinter。 我現在的目標是創建一個拖放功能,該功能創建按鈕並將它們與線連接。

這是我到目前為止的內容:

from tkinter import *
class Test:
def __init__(self, master):
    X1 = int(input())
    Y1 = int(input())
    X2 = int(input())
    Y2 = int(input())

    self.blackLine = Canvas.create_line(X1, Y1, X2, Y2)



    convas = Canvas(master)
    convas.pack()
    button1 = Button(text = "button 1")
    button1.configure(width = 0, activebackground = "#D2D2D2", relief = GROOVE)
    button1_window = convas.create_window(X1, Y1, anchor=NW, window=button1)
    button1.update()
    print (button1.winfo_geometry())

    button2 = Button(text = "button 2")
    button2.configure(width = 0, activebackground = "#D2D2D2", relief = GROOVE)
    button2_window = convas.create_window(X2, Y2, anchor=NW, window=button2)
    button2.update()
    print (button2.winfo_geometry())

現在,您可能已經看到,我正在測試線條圖,方法是在開始時在整數中輸入一些值,而不是在button1,2_window坐標中使用它們在畫布上放置按鈕。 現在,當我啟動程序時,我的問題就出現了。

一旦我輸入了4、4、10、10之類的4個數字,就會給我一個AttribuiteError提示:

“ AttributeError:'int'對象沒有屬性'_create'”

我不確定,但我猜想它會以某種方式將數字用作字符串,因此我嘗試使用int(input))而不是常規的input()函數。

問候

您需要使用canvas實例而不是Canvas類來制作線條。 為此,必須在Canvas初始化后將其移動。

convas = Canvas(master)
convas.pack()

self.blackLine = convas.create_line(X1, Y1, X2, Y2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM