python - 如何使用 Tkinter 和 Python 将小部件与按钮命令连接?
问题描述
这是我的问题:我正在尝试使用 Tkinter 创建一个 GUI,它可以读取文件夹中的多个文件并在界面上显示它们的值。但是当我按下小部件按钮时,什么也没有发生。
这是我使用的脚本,如果您不了解我的过程,请随时提出您的问题。
如果有人可以帮助我,我将非常感激。
for s in SOIList and valuesList:
if s == selectedConfig.get() and s == selectedConfig.get():
textfilespathB = 'C:/temp/dossiersoi2/'+s+'SOI.txt'
textfilespathC = 'C:/temp/fichiervalues2/'+s+'val.txt'
with open(textfilespathB, "r") as f:
frame2 = Frame(root, width = 50, height = 100)
frame2.grid(row = 2, column = 0)
Label(frame2, text=f.read()).pack()
with open(textfilespathC, "r") as f:
frame4 = Frame(root, width = 50, height = 100)
frame4.grid(row = 2, column = 1)
Label(frame4, text=f.read()).pack()
else:
print("not working")
这是与我的脚本相关的 GUI。
解决方案
考虑这行代码:
for s in SOIList and valuesList:
它没有按照您的预期进行。SOIList
从评论到此答案的早期版本,您似乎想要valuesList
并行迭代(即:每次通过循环时,您都希望一个列表中的一个项目和另一个列表中的一个项目)。
这个问题的答案很好地解释了这样做的方法:如何并行遍历两个列表?
在您的情况下,代码如下所示:
for s, v in zip(SOIList, valuesList):
if s == selectedConfig.get() and v == selectedConfig.get():
...
推荐阅读
- javascript - 使用 Vue JS 构建原生应用
- angular - 如何在充满多个组件的页面中从 Angular 组件打开模式
- coq - 破坏coq中依赖记录的相等性
- javascript - Nodejs 相当于向服务器发送一个 GET 请求以从 API 获取数据
- python - json_normalize 拆分多个 json 对象:python
- python - 打印行在函数中运行时出现语法错误
- javascript - 如何在 Oracle Apex 日历中禁用鼠标单击旧日期
- html - 如何用flex居中绝对元素?
- java - 声纳对 Optional.isPresent() 断言的误报
- git - 重置 DEV 分支并复制所有文件