cuốn sách gpt4 ai đã làm

GUI Python - Liên kết GUI trong lớp này với lớp khác

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 19:02:20 29 4
mua khóa gpt4 Nike

Điều tôi muốn làm là liên kết GUI từ một lớp trong một tệp riêng biệt với một lớp khác. Lớp đầu tiên của tôi là menu chính sẽ hiển thị một số nút liên kết đến một cửa sổ khác. Lớp thứ hai hiển thị một cửa sổ khác, nhưng vấn đề tôi gặp phải bây giờ là không biết làm cách nào để liên kết nút ở lớp thứ nhất để gọi lớp thứ hai. Đây là mã của tôi cho đến nay:

Tệp đầu tiên, menu chính:

từ nhập tkinter *
nhập prac2_link


lớp chính:
def __init__(tự, chủ):
khung = Khung (chính, chiều rộng = 80, chiều cao = 50)
frame.pack()
self.hello = Nhãn(frame, text="MAIN MENU").grid()
self.cont = Button(frame,text="Menu tùy chọn 1", command=prac2_link.main2).grid(row=1)



gốc = Tk()
ứng dụng = chính (gốc)
root.mainloop()

Tập tin thứ hai:

từ nhập tkinter *

lớp chính2:
def __init__(self):
frame1 = Khung(bản thân, chiều rộng=80, chiều cao=50)
frame1.pack()
self.hello = Nhãn(frame1, text="xin chào, khung khác").grid(row=0,column=0)

câu trả lời hay nhất

Để tạo một cửa sổ mới, bạn phải sử dụngCấp cao nhất Widget. Bạn có thể sử dụng nó như chính2 Lớp cha của lớp (siêu lớp):

lớp main2 (Toplevel):
def __init__(self):
Toplevel.__init__(tự)
self.frame=Khung(self, width=80, high=50)
self.label = Nhãn(self.frame, text='đây là một khung khác')
self.frame.grid()
self.label.grid()

Sau đó bạn chỉ cần thêm Cái nút Tạo một thể hiện trong trình xử lý sự kiện:

lớp chính1:
def __init__(tự, chủ):
# ...
self.cont = Button(frame,text="Menu tùy chọn 1", command=self.open_main2).grid(row=1)
def open_main2(tự):
prac2_link.main2()

Về GUI Python - Liên kết GUI trong lớp này với lớp khác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/15721645/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress