正如标题所说,我希望在文本框中插入一个复选框。我尝试并搜索了我能想到的不同方式,但没有任何工作。任何帮助是极大的赞赏! 我不会列出我尝试的每一种方式,否则这个页面会非常长。
以下代码只是一个没有复选框的示例。
import tkinter as tk
self = tk.Tk()
TEXT_BOX = tk.Text(self, width = 20, height = 10)
TEXT_BOX.pack()
app = self
app.mainloop()
这也是我想要使用的复选框,我只是想弄清楚如何插入它。
var1 = tk.IntVar()
TEST = tk.Checkbutton(self, variable = var1)
如果您知道更好的方法,请告诉我。
谢谢布莱恩。工作代码是;
import tkinter as tk
self = tk.Tk()
TEXT_BOX = tk.Text(self, width = 20, height = 10)
TEXT_BOX.pack()
var1 = tk.IntVar()
TEST = tk.Checkbutton(self, variable = var1)
TEXT_BOX.window_create("1.0", window = TEST)
TEXT_BOX.insert("end", "\n")
app = self
app.mainloop()
答案 0 :(得分:1)
下面显示了一个示例,说明如何创建一些send-buffer-size=0 \
,然后仔细检查哪些已被选中:
CheckButtons
这会创建一个数组,其中每个from tkinter import * #imports tkinter
root = Tk() #sets root as the Tk window
examples = 10 #sets the number of example to create
label = [] #empty array for storing labels
checkbox = [] #empty array for storing checkboxes
array = [] #empty array for storing checkbox boolean states
for i in range(examples): #for loop for creating the contents of the page
array.append(BooleanVar()) #adds an empty tk booleans value to array
label.append(Label(root, text="Example: "+str(i))) #creates a label
label[i].grid(column=0, row=i) #grids the above label
checkbox.append(Checkbutton(root, variable=array[i])) #creates a button. the state variable for the button is stored in the next element of the array
checkbox[i].grid(column=1, row=i) #grids button
def command(): #command executed from button below
for i in range(examples): #for loop for each example
if array[i].get() == True: #checks if the button is ticked (True)
print("Example "+str(i)+" is ticked.") #prints this if the button is ticked
else:
print("Example "+str(i)+" is not ticked.") #prints this if the button is not ticked
button = Button(root, text="Ok", command=command) #creates a button to process the output
button.grid() #grids button
root.mainloop() #starts event loop
都与相关element
的{{1}}状态相关联。然后,程序使用boolean
循环遍历数组,并根据checkbutton
循环打印结果,该循环检查每个for
的{{1}}个状态。
类似的原则可以应用于您正在寻找的内容,但显然不是打印无用的声明,而是对您的数据采取某种行动。
答案 1 :(得分:0)
要将复选框(或任何窗口小部件)插入文本窗口小部件,请使用记录的方法window_create
。
示例:
TEXT_BOX.window_create("1.0", window=TEST)
TEXT_BOX.insert("end", "<-- a checkbox!\n")
这在文本小部件文档中提到(例如:help(tk.Text)
)以及许多流行的教程: