我试图遍历excel中的一列,并在tkinter中的标签上显示该单元格的内容(到达空白单元格时结束)。我遇到的问题是我只想根据条件提出某些问题,如果不满足则跳过该问题。下面的代码用于在tkinter标签上显示每个单元格的文本,并在屏幕上打印应询问的对象。但是事实证明,将应该被邀请的人与标签联系起来很困难。
该电子表格在本书的第一个工作表中具有“男”和“女”值,在第二个工作表中,取决于第一名中的性别的问题列表。每个问题的左侧栏中都有其目标受众(男性或女性)。任何帮助,不胜感激。
import tkinter as tk
import openpyxl
window = tk.Tk()
window.title("Test of questions")
window.geometry("700x450")
LARGE_FONT= ("Verdana", 12)
def begin_ques():
begin_btn.place_forget()
question=tk.StringVar()
book = openpyxl.load_workbook('Test.xlsx')
sheet1 = book.worksheets[0]
sheet2 = book.worksheets[1]
gen=sheet1['B2']
for_gen=sheet2['A2']
print(for_gen.value)
question.set(sheet2['B2'].value)
global Q
Q=2
global FG
FG=2
def next_ques():
global FG
FG+=1
for_gen=sheet2['A' +str(FG)]
print(for_gen.value)
global Q
Q+=1
question.set(sheet2['B' + str(Q)].value)
if sheet2['B' + str(Q)].value == None:
question.set("Finished")
next_btn=tk.Button(window, text="Next", command=next_ques)
next_btn.place(x=575,y=100)
next_btn.config(height=5, width=5)
qus_label = tk.Label(window, textvariable=question, font = LARGE_FONT, borderwidth=2, relief="groove")
qus_label.place(x=150, y=100)
qus_label.config(height=5,width=40)
begin_btn=tk.Button(window, text= "Begin", command=begin_ques)
begin_btn.place(x=320, y=220)
begin_btn.config(height=3, width= 6)
window.mainloop()