GVKun编程网logo

Python Tkinter中的单选按钮值(python tkinter 单选按钮)

30

对于想了解PythonTkinter中的单选按钮值的读者,本文将是一篇不可错过的文章,我们将详细介绍pythontkinter单选按钮,并且为您提供关于breezypythongui库中的单选按钮、j

对于想了解Python Tkinter中的单选按钮值的读者,本文将是一篇不可错过的文章,我们将详细介绍python tkinter 单选按钮,并且为您提供关于breezypythongui 库中的单选按钮、javascript – 获取多个单选按钮集的单选按钮值、Python 2.7 Tkinter-确定已选择哪个单选按钮、python gui tkinter快速入门教程 | python tkinter tutorial的有价值信息。

本文目录一览:

Python Tkinter中的单选按钮值(python tkinter 单选按钮)

Python Tkinter中的单选按钮值(python tkinter 单选按钮)

我正在尝试使用Tkinter在Python中创建一个对话框。目的是创建一个带有两个单选按钮和一个“确定”按钮的对话框。单选按钮一选择选项“默认”。单选按钮2选择选项“用户定义”。“确定”按钮关闭窗口。

问题1: 如何通过单选按钮保存值?也就是说,如何将选定的单选按钮传递给脚本的其余部分?

问题2:
如何使第二个单选按钮包含用户文本输入(沿着tkSimpleDialog.askstring行)?我希望该按钮显示一个单选按钮,一个提示(“输入值:”)和一个供用户输入文本的空间-
所有这些都作为一个单选按钮选项在一行上全部显示。
因此,整个对话框的顶部单选按钮应为普通单选按钮,第二个按钮指定用户输入并包括用于该用户输入的空间(以及OK按钮)。

到目前为止,我打开了一个带有两个选项的对话框,但是该值没有传递给我可以看到的任何内容;即使我选择单选按钮,选择也会返回0。
任何一个问题的帮助将不胜感激,谢谢。
到目前为止,这是我的脚本:

from Tkinter import*master = Tk()var = IntVar()Label(master, text = "Select OCR language").grid(row=0, sticky=W)Radiobutton(master, text = "default", variable = var, value = 1).grid(row=1, sticky=W)Radiobutton(master, text = "user-defined", variable = var, value = 2).grid(row=2, sticky=W)Button(master, text = "OK", command = master.quit).grid(row=3, sticky=W)selection = var.get()print "Selection:", selectionmainloop()#If selection == 0 do one thing#If selection == 1 do something else...

答案1

小编典典

聚会晚了一点,但是我在尝试在Tkinter单选按钮上找到东西时偶然发现了这个问题。

问题1:

我改变了三件事:

1)我立即设置的值var1你定义后。这样做var.set(1)可以确保您选择了第一个单选按钮(其值为1,如稍后在代码中所定义)。

2)我已将您的master.quit命令替换为quit_loop。在此功能中:

  • var值通过printget语句打印。该get会“得到”的当前值var,这取决于哪个单选按钮被选中的。
  • 我在此函数中创建了一个全局变量,该变量将get成为的当前值var
  • 我在其中添加了括号,master.quit()因为它不再位于单选按钮的命令中。请注意,如果您计划使用IDLE,则master.destroy()可能是更合适的选择。

3)由于selection在函数中创建了变量,我们现在将所需的值存储在变量中。if在代码的末尾有一个最终声明,表明它是有效的。

from Tkinter import *master = Tk()var = IntVar()var.set(1)def quit_loop():    print "Selection:",var.get()    global selection    selection = var.get()    master.quit()Label(master, text = "Select OCR language").grid(row=0, sticky=W)Radiobutton(master, text = "default", variable=var, value = 1).grid(row=1, sticky=W)Radiobutton(master, text = "user-defined", variable=var, value = 2).grid(row=2, sticky=W)Button(master, text = "OK", command=quit_loop).grid(row=3, sticky=W)master.mainloop()if selection == 1:    print "My Value is equal to one."elif selection == 2:    print "My value is equal to two."

问题2:

我会保持简单,只需在您的单选按钮之后添加标签和输入框即可。这意味着我们还必须使用列,因为您在先前的代码中没有定义任何列,这使所有内容默认为列0。我们希望您的第二个单选按钮为“
radio,label,entry”,该列需要三列。

1)先前包含的标签"Select OCR language"将跨越三列,并columnspan=3添加到网格参数中。第一个单选按钮也是如此。

2)我在您的第二个单选按钮之后添加了一个Label和一个Entry。请注意,列从0到2,定义了我们的三列。标签具有简单"Entervalue:"文本,而条目具有变量textvariable=entry_text。我将此变量添加entry_text到了代码的开头,并立即将其值设置为###。请注意,这是一个string(因此,
文本 变量),因此仅由整数决定是否添加检查。

3)当然,这没有链接到第二个单选按钮。如果我们选择它,它的值为2,而不是Entry小部件的值。这就是为什么在先前创建的quit_loop函数中,添加了一条小if语句,该语句将条目的值分配给selection是否选择了第二个单选按钮。

from Tkinter import *master = Tk()var = IntVar()var.set(1)entry_text = StringVar()entry_text.set("###")def quit_loop():    print "Selection:",var.get()    global selection    selection = var.get()    if selection == 2:        selection = entry_text.get()    master.quit()# Add columnspan to these widgetsLabel(master, text = "Select OCR language").grid(row=0, sticky=W, columnspan=3)Radiobutton(master, text = "default", variable=var, value = 1).grid(row=1, sticky=W, columnspan=3)# Order these widgets in their appropriate columnsRadiobutton(master, variable=var, value = 2).grid(row=2, sticky=W, column=0)Label(master, text="Enter value:").grid(row=2, sticky=W, column=1)Entry(master, textvariable=entry_text).grid(row=2, sticky=W, column=2)# Example of what happens without columnspanButton(master, text = "OK", command=quit_loop).grid(row=3, sticky=W)master.mainloop()print selection

小费

如果这个简单的GUI仍然很小,则可以用这种方式编写代码。但是,在此基础上进行大量扩展,我建议您采用面向对象的方法,因为它确实可以大大提高可读性,尤其是在定义函数时。这样,就不必事先定义它们。

breezypythongui 库中的单选按钮

breezypythongui 库中的单选按钮

如何解决breezypythongui 库中的单选按钮?

所以我有一个使用 breezypythongui 库制作的单选按钮组,我很好奇是否有人可以帮助我使用它来执行功能。

from breezypythongui import EasyFrame

class Taxation(EasyFrame):
    def __init__(self):
        EasyFrame.__init__(self,title="Simple Tax Calculator")

        ##Input Income Field
        self.addLabel(text="Gross Income",row=0,column=0)
        self.grossIncome = self.addIntegerField(value=0,column=1,width=10)

        ##Deductions
        self.addLabel(text="Total Deductions",row=1,column=0)
        self.deductions = self.addIntegerField(value=0,width=10)

        ##Adjust Income
        self.addButton(text="Adjusted Income",row=2,column=0,columnspan=2,command=self.adjIncome)
        self.addLabel(text="Adjusted Gross Income",row=3,column=0)
        self.adjIncome = self.addFloatField(value=0.00,width=8,precision=2,state="readonly")


        ##Filing Status
        self.addLabel(text="Filing Status",row=4,sticky="NSEW")
        self.status = self.addRadiobuttonGroup(row=5,rowspan=4,columnspan=2)
        defaultRB = self.status.addRadiobutton(text="Single",value=1)
        self.status.setSelectedButton(defaultRB)
        self.status.addRadiobutton(text="Head of Household",value=2)
        self.status.addRadiobutton(text="Married Filing Jointly",value=3)
        self.status.addRadiobutton(text="Married Filing Separately",value=4)

        ##Output Button
        self.addButton(text="Taxes Owed",row=9,command=self.statusSelection)

        ##Output
        self.addLabel(text="Total",row=10,column=0)
        self.outputField = self.addFloatField(value=0.00,state="readonly")

    ##Income Adjustment Method
    def adjIncome(self):
        gross = self.grossIncome.getNumber()
        deductions = self.deductions.getNumber()
        adjIncome = gross - deductions
        self.adjIncome.setNumber(adjIncome)

    ##Event Method Handling
    def statusSelection(self):
        if value in self.status.getSelectedButton() == 1:
            self.single(self.adjIncome)


def main():
    Taxation().mainloop()

if __name__ == "__main__":
    main()

我遗漏的部分是 4 个 def,它们只不过是关于收入的 if、elif、else 语句,它们返回一个值。我没有包括它们,因为它是整个联邦税级,而且这段代码足够长。

我遇到的问题是我无法在#Filing Status 部分获取“值”来执行相应的功能。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

javascript – 获取多个单选按钮集的单选按钮值

javascript – 获取多个单选按钮集的单选按钮值

我正在设置一个多项选择问卷,答案是通过标有A,B,C和D的单选按钮处理.

我想通过获取表单ID和单击的按钮值来确定每个问题的答案,例如,使用第一组单选按钮的响应可能是1B而第二个,2D等等(表单ID)脚本已经启动并运行).

我需要这个工作在一个包含多组单选按钮的页面上

这是HTML:

<formid="1">
      <label>
        <input type="radio" value="A" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="B" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="C" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="D" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>  
    </form>
    ...                                                                
    <formid="2">
      <label>
        <input type="radio" value="A" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="B" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="C" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>
      <label>
        <input type="radio" value="D" name="toeic"/>
        <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
      </label>  
    </form>

但是,虽然我已经能够使用以下方法获得已检查的单选按钮值:

jQuery('input[name=toeic]').change(function(){
      var invar = jQuery('input[name=toeic]:checked').val();
      alert(invar);
    });

该脚本仅在单击的第一行按钮内有效.

为了说明,如果在要访问的第一行按钮中,单击按钮B,则显示B(正确).

但是,如果在另一行中,单击按钮C,则显示B(不正确)..并且对于所有后续按钮单击继续显示B.我已经检查了SO页面,但我找不到解决方案 – 问题似乎是多组单选按钮.

任何帮助将非常感谢

解决方法

你可以这样做:

$(document).ready(function() {
  $("#finish").click(function() {
    var answersList = [];
    //Loop over all questoins
    $(".toeic_pages").each(function() {

      var questionId = $(this).attr("id");
      var answer = $("input[name='toeic']:checked",$(this)).val();

      //if Answer isnt provided do not update the answersList
      if (answer !== undefined) {
        answersList.push({
          question: questionId,answer: answer
        });
      }
    });
    console.log(answersList);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<formid="1">
  <label>
    <input type="radio" value="A" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="B" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="C" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="D" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
</form>
...
<formid="2">
  <label>
    <input type="radio" value="A" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="B" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="C" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
  <label>
    <input type="radio" value="D" name="toeic" />
    <divhttps://www.jb51.cc/tag/dio/" target="_blank">dio-image"></div>
  </label>
</form>

<button id="finish">Get Answers</button>

Python 2.7 Tkinter-确定已选择哪个单选按钮

Python 2.7 Tkinter-确定已选择哪个单选按钮

假设已编写以下代码:

self.firstRadioButton = Radiobutton(self.__canvas,text="ONE",fg='white',bg=BACKGROUND_COLOR,variable=self.selectedONE,value=1)

self.secondRadioButton = Radiobutton(self.__canvas,text="TWO",variable=self.selectedTWO,value=2)

我试图确定已选择哪个单选按钮,然后提取用户选择的那个单选按钮的值。我该怎么做呢?

python gui tkinter快速入门教程 | python tkinter tutorial

python gui tkinter快速入门教程 | python tkinter tutorial

本文首发于个人博客https://kezunlin.me/post/d5c57f56/,欢迎阅读最新内容!

python tkinter tutorial
<!--more-->

Guide

main ui

messagebox
- showinfo()
- showwarning()
- showerror()
- askquestion()
- askokcancel()
- askyesno()
- askretrycancel()
- askyesnocancel()


filedialog
- asksaveasfilename() 
- asksaveasfile()
- askopenfilename()
- askopenfile()
- askdirectory()
- askopenfilenames()
- askopenfiles()

demo


from numpy.random import seed, uniform
from numpy import uint8, uint16, load, save

from cv2 import imread, imwrite
from os import listdir, makedirs
from os.path import exists, basename

# for python 3
from tkinter import Tk, Frame, messagebox, filedialog, Button, Label, StringVar

class MyGUI():
    def __init__(self):

        self.root = Tk()

        sw = self.root.winfo_screenwidth()
        sh = self.root.winfo_screenheight()
       
        ww = 700
        wh = 200
        x = (sw-ww) / 2
        y = (sh-wh) / 2
        self.root.title(''Image Compress Tool'')
        # center
        self.root.geometry("%dx%d+%d+%d" % (ww, wh, x, y))

        # frame1
        frame1 = Frame(self.root) 
        frame1.grid(row=0, column=0, sticky=''w'')

        self.input_btn = Button(frame1, text="Input Folder", width=10, height=3, command=self.set_input_folder)
        self.input_btn.pack(side=''left'')

        self.input_label_text = StringVar()
        self.input_label_text.set("Input Folder")

        self.input_label = Label(frame1, textvariable=self.input_label_text, width=70, height=3)
        self.input_label.pack(side=''left'') 

        # frame2
        frame2 = Frame(self.root) 
        frame2.grid(row=1, column=0, sticky=''w'')
        
        self.output_btn = Button(frame2, text="Output Folder", width=10, height=3, command=self.set_output_folder)
        self.output_btn.pack(side=''left'')

        self.output_label_text = StringVar()
        self.output_label_text.set("Output Folder")

        self.output_label = Label(frame2, textvariable = self.output_label_text, width=70, height=3)
        self.output_label.pack(side=''left'') 

        # frame3
        frame3 = Frame(self.root)
        frame3.grid(row=2, column=0, sticky=''nw'')
        
        self.run_btn = Button(frame3, text="执行加密", width=10, height=3, command=self.run_task)
        self.run_btn.pack(side=''left'')

        self.run_label_text = StringVar()
        self.run_label_text.set("Ready")

        self.run_label = Label(frame3, textvariable = self.run_label_text, width=70, height=3)
        self.run_label.pack(side=''left'') 

    def mainloop(self):
        self.root.mainloop() 

    def set_input_folder(self):
        result = filedialog.askdirectory()
        self.input_label_text.set(result)
        
    def set_output_folder(self):
        result = filedialog.askdirectory()
        self.output_label_text.set(result)
    
    def run_task(self):
        input_folder = self.input_label_text.get()
        output_folder = self.output_label_text.get()
        #print("input_folder: "+input_folder)
        #print("output_folder: "+output_folder)
        if exists(input_folder):
            #batch_compress(input_folder, output_folder)
            self.run_label_text.set("Compress OK.")
            messagebox.showinfo("Info", "Compress OK.")
        else:
            messagebox.showwarning("Warn", "Please input folder")

def gui():
    app = MyGUI()
    app.mainloop()

def main():
    gui()

if __name__ =="__main__":
    main()

snapshots
tkinter demo

Reference

  • tkinter demo
  • tkinter docs

History

  • 20190411: created.

Copyright

  • Post author: kezunlin
  • Post link: https://kezunlin.me/post/d5c57f56/
  • Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

关于Python Tkinter中的单选按钮值python tkinter 单选按钮的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于breezypythongui 库中的单选按钮、javascript – 获取多个单选按钮集的单选按钮值、Python 2.7 Tkinter-确定已选择哪个单选按钮、python gui tkinter快速入门教程 | python tkinter tutorial的相关信息,请在本站寻找。

本文标签: