python - Tkinter - 显示按钮
问题描述
我想使用具有列表文件、下载、上传和刷新功能的 Tkinter 创建 3 个按钮并显示列表。
只有 listfile 有效,运行时没有显示 3 个按钮。我是做错了什么还是只是错过了一些步骤?
这是我的代码:
主文件
from __future__ import print_function
from tkinter import *
from tkinter import filedialog
import tkinter.messagebox
from quickstart import *
root = Tk()
root.title("Hello")
def Upload():
try:
path = filedialog.askopenfile()
FilePath=path.name
Uploadfile(FilePath)
except(AttributeError):
tkinter.messagebox.showerror("wanring" ,"No file choice!!!")
def DownLoad():
indexs = listBox1.curselection()
for i in indexs:
Downloadfile(i,listBox1.get(i))
def Refresh():
listBox1.delete(0,END)
items = listfile()
for item in items:
listBox1.insert(items.index(item),str(items.index(item))+") "+item['name'])
listBox1.pack()
lb1=Label(root,text="Connect with driver!!",font=("Times New Roman",14),fg="red")
lb1.pack(side = TOP)
# list name and index of items
lb2=Label(root)
lb2.pack(side = BOTTOM)
####
items = listfile()
listBox1 = Listbox(lb2,width=50,height=50,xscrollcommand=True)
for item in items:
listBox1.insert(items.index(item),str(items.index(item))+") "+item['name'])
listBox1.pack()
#3 button
pnw1=PanedWindow(lb2,orient=HORIZONTAL)
pnw1.pack()
btnSelect=tkinter.Button(pnw1,text=("Upload"),command=Upload,bg='blue',fg='red')
pnw1.add(btnSelect)
btnDow=tkinter.Button(pnw1,text=("Download"),command=DownLoad,bg='blue',fg='red')
pnw1.add(btnDow)
btnDow=tkinter.Button(pnw1,text=("Refresh"),command=Refresh,bg='blue',fg='red')
pnw1.add(btnDow)
root.mainloop()
quickstart
您可以在此处找到该文件
解决方案
问题出在这里
listBox1 = 列表框(lb2,width=50,height=50,xscrollcommand=True)
列表框占用太多空间。尝试降低高度。
推荐阅读
- r - R滑动数据留在data.table中
- kotlin - 如何获取 Kotlin 协程作业失败的异常?
- json - Groovy JSON 在字符串周围缺少引号
- xamarin.ios - 将 Xamarin.iOS 绑定添加到小型示例应用时找不到命名空间
- php - 使用 PHP 和 Proxy 卷曲并返回结果
- javascript - CSS:拉伸 div 以适应宽度,仅当它们在彼此的 y 轴空间内时
- java - 程序不能从 ZyBooks 读取文件,但可以在 Eclipse 上运行
- jdbc - HSQL 中的 setArray() 异常
- javascript - 如何使用 JavaScript 创建用户名正则表达式?
- python - 更改 sklearn 管道的参数