簡體   English   中英

Tkinter(OOP)中的Checkbutton小部件

[英]Checkbutton widget in Tkinter (OOP)

以下是我目前正在研究的第一個python項目的摘錄。

我可以將檢查按鈕添加到GUI中,但是實際上沒用,因為我無法找到如何從檢查按鈕中獲取值。

import tkinter as tk
from tkinter import *
class base(tk.Tk):

    def __init__(self, *args, **kwargs):

        tk.Tk.__init__(self, *args, **kwargs)

        #tk.Tk.iconbitmap(self, "iconz.ico")
        tk.Tk.wm_title(self, "Mandelbrot Renderer")

        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand = True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}

        for F in (StartPage, MainPage):
            frame = F(container, self)
            self.frames[F] = frame
            frame.grid(row=0, column=0, sticky="nsew")

        self.show_frame(StartPage)

    def show_frame(self, cont):

        frame = self.frames[cont]
        frame.tkraise()

class MainPage(tk.Frame):
    def getcheckvalue(self):
        print (self.mvar.get())

    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        label = tk.Label(self, text="Graph Page!", font=LARGE_FONT)
        label.pack(pady=10,padx=10)

        button1 = ttk.Button(self, text="Back to Home",
                        command=lambda: controller.show_frame(StartPage))
        button1.pack()

        button2 = ttk.Button(self, text="Re-Render",
                        command=self.getcheckvalue)
        button2.pack()
        mvar = IntVar()
        self.cbutton = ttk.Checkbutton(self, text="shadow",onvalue=1, offvalue=0, variable=mvar) 
        self.cbutton.pack()


app = base()
app.geometry ("800x600")
app.mainloop()
mvar = IntVar()

在此行中,您將創建一個本地 mvar 要從__init__方法外部訪問它,您需要通過添加self.使它成為類變量self. 字首。

self.mvar = IntVar()
self.cbutton = ttk.Checkbutton(...,  variable=self.mvar) 

暫無
暫無

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

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