【发布时间】:2021-08-29 17:26:17
【问题描述】:
我对以下工作代码有一些一般性问题:
- tkinter 是图形界面库,据我了解,我可以将它与 Kivy 等互换使用?
- 学习 Kivy 会更好还是其他更好?
-
import tkinter as tk和from tkinter import *行完全相同,但在第一行中我有别名? - 在下面的代码中,为什么我必须在
ttk.Progressbar中使用ttk?
我用import tkinter as tk导入了整个库,那么为什么我必须重新导入 ttk 只是为了进度条? (否则它不起作用)。我希望能工作。喜欢tk.Progressbar - 在
btnProg = tk.Button(self.root, text = 'update', command=self.fnUpdateProgress)行中,为什么方法“fnUpdateProgress”不能有任何变量?每当我添加任何内容时,按钮都会停止工作? -> 例如btnProg = tk.Button(self.root, text = 'update', command=self.fnUpdateProgress(24))(ofc 然后在方法本身的 def 中进行一些更改) - 我创建了进度条 (pb) 作为类 Test 的属性,但是将其定义为常规变量(没有 self)是否会更好?老实说,代码的工作原理完全相同。
代码:
import tkinter as tk
from tkinter import *
from tkinter import ttk
from CreateProgramMain import main
import GlobalVariables
class Test():
####################################################################################
def __init__(self):
self.Progress=0
self.root = tk.Tk()
self.root.title(GlobalVariables.strAppName)
self.root.geometry('400x200')
lbl = Label(self.root, text="Please choose environment.",font=("Arial Bold", 12))
lbl.grid(column=2, row=0,sticky='e')
def btnTestClicked():
main("TEST",self)
btnTest=tk.Button(self.root, text="Test Environment", command=btnTestClicked)
btnTest.grid(column=2, row=15)
#Place progress bar
pb = ttk.Progressbar(self.root,orient='horizontal',mode='determinate',length=200)
pb.grid(column=1, row=65, columnspan=2, padx=10, pady=20)
pb["value"]=self.Progress
pb["maximum"]=100
btnProg = tk.Button(self.root, text = 'update', command=self.fnUpdateProgress)
btnProg.grid(column=2, row=75)
self.root.mainloop()
def fnUpdateProgress(self): #why i cant insert variable inside?
pb["value"]=self.Progress
self.Progress=self.Progress+5
pb.update()
app = Test()
谢谢
【问题讨论】: