gpt4 book ai didi

python - 如何使用文本文件中的单选按钮

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:47 24 4
gpt4 key购买 nike

我正在使用 tkinter 在 python 3 中创建一个简单的多项选择测验

我计划将所有问题以及答案添加到文本文件中。但我不知道如何让我的单选按钮与文本文件一起使用,然后调用它们。我需要一个小例子,以便我可以完成我的程序。我尝试使用谷歌和其他Python文档,但我没有得到任何正确的东西。

import sys
from tkinter import *

root=Tk()
name=StringVar(value='Enter Name Here')
cn=StringVar(value='Enter CN Here')

def random():
mlabel=Label(root,text="U CLicked Me").pack()
return

def random1():
mtext=name.get()
mno=cn.get()
mlabel2=Label(root,text=mtext).pack()
mlabel3=Label(root,text=mno).pack()

def mquit():
mexit=messagebox.askyesno(title="Quit",message="Quit The Test ?")
if mexit > 0:
root.destroy()
return

root.geometry('700x700+400+400')
root.title('Welcome To Quiz')

mainmenu=Menu(root)

root.configure(menu=mainmenu)

submenu=Menu(mainmenu,tearoff=0)
mainmenu.add_cascade(label="Options",menu=submenu)
submenu.add_command(label="Restart",command=random)
submenu.add_command(label="Close",command=mquit)

mentry=Entry(root,textvariable=name).pack()
mentry=Entry(root,textvariable=cn).pack()
mbutton=Button(root,text='Ok',command=random1,fg='red',bg='blue').pack()

root.mainloop()

最佳答案

您需要了解两部分。

第一部分是从文本文件中获取值。如何执行此操作取决于文本文件的格式(您尚未指定)。我建议您使用 csv ( csv documentation ) 甚至配置文件 ( config parser documentation )。

将问题和答案加载到变量中后,您可以将值分配给单选按钮。 要记住的关键一点是,一组中的单选按钮都指向一个变量。如果您以编程方式将该变量设置为有效选项,则该按钮将被选中;如果用户选择单选按钮,变量将设置为该值 - 您可以根据从 csv 或配置文件加载的答案来测试该值。

(摘自 Rocci Rossi 为忙碌的 Python 开发者提供的 Modern TKinter):

单选按钮是使用 ttk.Radiobutton 函数创建的,通常作为一个集合:

phone = StringVar()
home = ttk.Radiobutton(parent, text='Home', variable=phone, value='home')
office = ttk.Radiobutton(parent, text='Office', variable=phone, value='office')
cell = ttk.Radiobutton(parent, text='Mobile', variable=phone, value='cell')

该组中的每个单选按钮都将具有相同的链接变量,但值不同;当变量具有给定值时,将选择单选按钮,否则取消选择。当链接变量不存在时,单选按钮也会显示“三态”或不确定,可以勾选通过“备用”状态标志。

关于python - 如何使用文本文件中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43159362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com