Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将单选按钮值传递给<;回报>;事件_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x 如何将单选按钮值传递给<;回报>;事件

Python 3.x 如何将单选按钮值传递给<;回报>;事件,python-3.x,tkinter,Python 3.x,Tkinter,使用Python3和tkinter,我制作了一个GUI工具来搜索大型语料库——比如说,比圣经还要大。 我设计了界面。在阅读文档、阅读教程等之后,我不知道如何传递控制搜索执行方式的单选按钮的值 单选按钮没有设置为在更改时触发,因为有4组单选按钮,我需要根据选择的按钮进行不同类型的搜索或输出。因此,我将事件设置为在输入框中按enter键触发: grc\u inp.bind(“”,doReturn) 我尝试了几种不同的方法来传递单选按钮的值,但没有任何效果 守则: # -*- coding: utf8

使用Python3和tkinter,我制作了一个GUI工具来搜索大型语料库——比如说,比圣经还要大。 我设计了界面。在阅读文档、阅读教程等之后,我不知道如何传递控制搜索执行方式的单选按钮的值

单选按钮没有设置为在更改时触发,因为有4组单选按钮,我需要根据选择的按钮进行不同类型的搜索或输出。因此,我将事件设置为在输入框中按enter键触发:

grc\u inp.bind(“”,doReturn)

我尝试了几种不同的方法来传递单选按钮的值,但没有任何效果

守则:

# -*- coding: utf8 -*-
#
# TryTkinter06.py
# Created 2020-05-04
# Author: Dan Beatty
#
"""
GUI in Python. Trying to start processing input.
"""

import tkinter
from tkinter.constants import *

def doSearch(m, c, a, o, needle):
    # STUB
    print('Match type:', m)
    print('Case sensitivity:', c)
    print('Accent sensitivity:', a)
    print('Output desired:', o)
    print('Search term:', needle)

def doReturn(event):
    mst = mstate.get()
    cst = cstate.get()
    ast = astate.get()
    ost = ostate.get()
    search_for = grc_inp.get()
    # doSearch(mst, cst, ast, ost, search_for)

def main():
    rootWin = tkinter.Tk()

    # make panes
    pWin = tkinter.PanedWindow()
    pWin.pack(fill=BOTH, expand=1)
    panes = tkinter.PanedWindow(rootWin, orient=VERTICAL)
    pWin.add(panes)
    topPane = tkinter.Label(panes)
    panes.add(topPane)
    botPane = tkinter.Label(panes, text='bottom pane')
    panes.add(botPane)

    # make radiobutton sets
    # match state set
    mstate = tkinter.StringVar()
    ms_label = tkinter.Label(topPane, text='Match Type:')
    ms_part = tkinter.Radiobutton(topPane, text='partial word', variable=mstate, value='partial')
    ms_whole = tkinter.Radiobutton(topPane, text='whole word', variable=mstate, value='whole')
    ms_phrase = tkinter.Radiobutton(topPane, text='phrase', variable=mstate, value='phrase')
    # case state set
    cstate = tkinter.StringVar()
    cs_label = tkinter.Label(topPane, text='Case Matching:', bg='#dddddd')
    cs_insen = tkinter.Radiobutton(topPane, text='insensitive', variable=cstate, value='insensitive', bg='#dddddd')
    cs_sens = tkinter.Radiobutton(topPane, text='sensitive', variable=cstate, value='sensitive', bg='#dddddd')
    # accent state set
    astate = tkinter.StringVar()
    as_label = tkinter.Label(topPane, text='Accent Matching:')
    as_insen = tkinter.Radiobutton(topPane, text='insensitive', variable=astate, value='insensitive')
    as_sens = tkinter.Radiobutton(topPane, text='sensitive', variable=astate, value='sensitive')
    # output state set
    ostate = tkinter.StringVar()
    os_label = tkinter.Label(topPane, text='Output Type:', bg='#dddddd')
    os_hits = tkinter.Radiobutton(topPane, text='hit count', variable=ostate, value='hits', bg='#dddddd')
    os_refs = tkinter.Radiobutton(topPane, text='list references', variable=ostate, value='refs', bg='#dddddd')
    os_context = tkinter.Radiobutton(topPane, text='show context', variable=ostate, value='context', bg='#dddddd')

    # input box for grc search term
    grc_label = tkinter.Label(topPane, text='Search for:')
    grc_inp = tkinter.Entry(topPane, width=50)

    ms_label.grid(row=0, column=0, sticky=W, ipadx=10, ipady=5)
    ms_part.grid(row=0, column=1, sticky=W, ipadx=10, ipady=5)
    ms_whole.grid(row=0, column=2, sticky=W, ipadx=10, ipady=5)
    ms_phrase.grid(row=0, column=3, sticky=W, ipadx=10, ipady=5)
    cs_label.grid(row=1, column=0, sticky=W, ipadx=10, ipady=5)
    cs_insen.grid(row=1, column=1, sticky=W, ipadx=10, ipady=5)
    cs_sens.grid(row=1, column=2, sticky=W, ipadx=10, ipady=5)
    as_label.grid(row=2, column=0, sticky=W, ipadx=10, ipady=5)
    as_insen.grid(row=2, column=1, sticky=W, ipadx=10, ipady=5)
    as_sens.grid(row=2, column=2, sticky=W, ipadx=10, ipady=5)
    os_label.grid(row=3, column=0, sticky=W, ipadx=10, ipady=5)
    os_hits.grid(row=3, column=1, sticky=W, ipadx=10, ipady=5)
    os_refs.grid(row=3, column=2, sticky=W, ipadx=10, ipady=5)
    os_context.grid(row=3, column=3, sticky=W, ipadx=10, ipady=5)
    grc_label.grid(row=4, column=0, sticky=W, ipadx=10, ipady=5)
    grc_inp.grid(row=4, column=1, columnspan=3, sticky=W, ipadx=10, ipady=5, pady=5)

    grc_inp.bind('<Return>', doReturn)

    rootWin.title('Search Corpus')
    rootWin.geometry('1500x750')
    rootWin.mainloop() # creates the window




if __name__ == '__main__':
    main()
#-*-编码:utf8-*-
#
#TryTkinter06.py
#创建日期:2020-05-04
#作者:丹·比蒂
#
"""
Python中的GUI。正在尝试开始处理输入。
"""
进口tkinter
从tkinter.constants导入*
def剂量搜索(m、c、a、o、针):
#存根
打印('匹配类型:',m)
打印('区分大小写:',c)
打印('重音敏感度:',a)
打印('所需输出:',o)
打印('搜索词:',指针)
def doReturn(事件):
mst=mstate.get()
cst=cstate.get()
ast=astate.get()
ost=ostate.get()
search\u for=grc\u inp.get()
#数据搜索(mst、cst、ast、ost、搜索)
def main():
rootWin=tkinter.Tk()
#做窗格玻璃
pWin=tkinter.PanedWindow()
pWin.pack(填充=两者,扩展=1)
panes=tkinter.PanedWindow(rootWin,orient=VERTICAL)
添加(窗格)
topPane=tkinter.标签(窗格)
窗格。添加(顶部窗格)
botPane=tkinter.Label(窗格,text='bottompane')
窗格。添加(底部窗格)
#制作单选按钮套装
#匹配状态集
mstate=tkinter.StringVar()
ms_label=tkinter.label(topPane,text='Match Type:')
ms_part=tkinter.Radiobutton(topPane,text='partial word',variable=mstate,value='partial')
ms_total=tkinter.Radiobutton(topPane,text='whole word',variable=mstate,value='whole')
ms_phrase=tkinter.Radiobutton(topPane,text='phrase',variable=mstate,value='phrase')
#案例状态集
cstate=tkinter.StringVar()
cs#u label=tkinter.label(topPane,text='Case Matching:',bg='#dddddd')
cs_insen=tkinter.Radiobutton(topPane,text='不敏感',variable=cstate,value='不敏感',bg='#dddddd')
cs_sens=tkinter.Radiobutton(topPane,text='sensitive',variable=cstate,value='sensitive',bg='#dddddd')
#重音状态集
astate=tkinter.StringVar()
as_label=tkinter.label(topPane,text='重音匹配:')
as_insen=tkinter.Radiobutton(topPane,text='不敏感',variable=astate,value='不敏感〕
as_sens=tkinter.Radiobutton(topPane,text='sensitive',variable=astate,value='sensitive')
#输出状态集
ostate=tkinter.StringVar()
os#u label=tkinter.label(topPane,text='Output Type:',bg='#dddddd')
os_hits=tkinter.Radiobutton(topane,text='hit count',variable=ostate,value='hits',bg='#dddddd')
os_refs=tkinter.Radiobutton(topPane,text='list references',variable=ostate,value='refs',bg='#dddddd')
os_context=tkinter.Radiobutton(topPane,text='show context',variable=ostate,value='context',bg='#dddddd')
#grc搜索词的输入框
grc_label=tkinter.label(topPane,text='Search for:')
grc_inp=tkinter.入口(顶部,宽度=50)
ms_label.grid(行=0,列=0,粘性=W,ipadx=10,ipady=5)
ms_零件网格(行=0,列=1,粘性=W,ipadx=10,ipady=5)
ms_整个网格(行=0,列=2,粘性=W,ipadx=10,ipady=5)
ms_phrase.grid(行=0,列=3,粘性=W,ipadx=10,ipady=5)
cs_label.grid(行=1,列=0,粘性=W,ipadx=10,ipady=5)
cs_插入网格(行=1,列=1,粘性=W,ipadx=10,ipady=5)
cs_传感器网格(行=1,列=2,粘性=W,ipadx=10,ipady=5)
as_label.grid(行=2,列=0,粘性=W,ipadx=10,ipady=5)
作为插入网格(行=2,列=1,粘性=W,ipadx=10,ipady=5)
同感测网格(行=2,列=2,粘性=W,ipadx=10,ipady=5)
os_label.grid(行=3,列=0,粘性=W,ipadx=10,ipady=5)
os_hits.grid(行=3,列=1,粘性=W,ipadx=10,ipady=5)
os_参考网格(行=3,列=2,粘性=W,ipadx=10,ipady=5)
os_context.grid(行=3,列=3,粘性=W,ipadx=10,ipady=5)
grc_label.grid(行=4,列=0,粘性=W,ipadx=10,ipady=5)
grc_输入网格(行=4,列=1,列span=3,粘性=W,ipadx=10,ipady=5,pady=5)
grc_输入绑定(“”,doReturn)
rootWin.title('搜索语料库')
rootWin.geometry('1500x750')
rootWin.mainloop()创建窗口
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
GUI的屏幕截图:

欢迎来到SO!你能给我们提供一些代码吗?这样,我们知道如何给你答案。请阅读。编辑以添加代码,现在我的图片已损坏。修复了屏幕快照将函数放入类中,并使用实例变量存储小部件的引用。然后你可以直接在这个类的任何函数中使用实例变量。所以你建议我通过一个完整的OOP学习曲线来做到这一点?欢迎这样做!你能给我们提供一些代码吗?这样,我们知道如何给你答案。请阅读。编辑以添加代码,现在我的图片已损坏。修复了屏幕快照将函数放入类中,并使用实例变量存储小部件的引用。然后你可以直接在这个类的任何函数中使用实例变量,所以你建议我通过一个完整的OOP学习曲线来做到这一点?