다음 코드에 문제가 있습니다. 이제는 프로그래밍에 익숙하지 않은데, 대부분의 코드는 인터넷에서 복사됩니다. 그래서 그것을 조정하여 원하는대로 작동하게되었습니다. 그래서 쉽게 해결할 방법이 없다면 괜찮습니다. 어쩌면 프로그래밍이나 파이썬에 대한 약간의 주제를 지적 할 수 있습니다.다른 함수의 한 함수에서 정의 된 목록 사용. Python 2.7
어쨌든 설명하려고합니다. function query()를 정의했습니다. sqlite 데이터베이스를 일부 변경합니다. 입력은 목록입니다. 그 기능은 단지 그 자체로 사용하면 잘 작동합니다.
이제 인터페이스를 정의 할 수있는 곳이 무엇인지, 어떤 체크 상자가 선택되어 있는지에 따라 그 목록 안에 있어야 할 항목이 있는지 확인하려고합니다. 그런 다음 버튼을 누르면 특정 목록이있는 기능을 실행하려고합니다. 체크 박스는 단추도 잘 생성됩니다. 또한, 버튼을 체크하거나 체크를 해제하면 목록이 잘 업데이트되고 인터프리터에 새로 업데이트 된 목록이 표시됩니다.
1. 새로 업데이트 된 목록을 사용하지 않고 빈 목록()을 사용합니다. 2. 미리 정의 된 목록을 입력하면 비어 있지 않습니다. , 그것은 심지어 나를 클릭하지 않고도 버튼을 클릭하여 query()를 자동으로 실행합니다.
내가 잘 설명하지는 않았지만 내 문제가 무엇인지 이해하시기 바랍니다. 도움
`
def chkbox_checked():
for ix, item in enumerate(cb):
opt[ix]=(cb_v[ix].get())
print opt
def query(opt):
import sqlite3
connection = sqlite3.connect("gather.sqlite")
cursor1 = connection.cursor()
cursor1.execute('Drop table IF EXISTS matches')
cursor1.execute('CREATE TABLE matches(date TEXT, team1 TEXT, team2 TEXT, league TEXT)')
cursor1.execute('DELETE FROM "main"."matches"')
for i in range(0, len(opt)):
a=opt[i]
cursor1.execute('INSERT INTO matches (date, team1, team2, league) SELECT * FROM gather WHERE team1=? or team2=? or league=?', (a,a,a,))
cursor1.execute('Drop table IF EXISTS matchessorted')
cursor1.execute('CREATE TABLE matchessorted(date TEXT, team1 TEXT, team2 TEXT, league TEXT)')
cursor1.execute('DELETE FROM "main"."matchessorted"')
cursor1.execute('INSERT INTO matchessorted (date, team1, team2, league) SELECT * FROM matches ORDER BY date')
connection.commit()
import Tkinter as tk
from Tkinter import *
opt = []
root = tk.Tk()
mylist = [
'name1',
'name2',
'name3'
]
cb = []
cb_v = []
for ix, text in enumerate(mylist):
cb_v.append(tk.StringVar())
off_value=0
cb.append(tk.Checkbutton(root, text=text, onvalue=text,offvalue=off_value,
variable=cb_v[ix],
command=chkbox_checked))
cb[ix].grid(row=ix, column=0, sticky='w')
opt.append(off_value)
cb[-1].deselect()
label = tk.Label(root, width=20)
label.grid(row=ix+1, column=0, sticky='w')
button1 = Button(root, text = "Calculate", command = query(opt))
button1.grid(column=1, row=0, sticky=W)
root.mainloop()
`
이 chkbox_checked 아닌가요은() 목록을 채우는? 이렇게해야합니까? 옵션 =이 다음 쿼리 (옵션) 을 chkbox_checked? – user2317500
그것은 작동합니다! 큰! 고마워. – user2317500