我正在尝试创建一个具有特殊时间和任务的任务管理器,而日期无关紧要(每天重复)。
我试图找到时间之间的差异,例如timedelta(hours=1):
datetime.time(13,00,00) - datetime.time(14,00,00)
Run Code Online (Sandbox Code Playgroud)
以失败告终:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
Run Code Online (Sandbox Code Playgroud)
虽然datetime.date(2017,06,26) - datetime.date(2017,06,25)结束得很好。
我想要获得Frame的大小 - 但没有运气.
在下面的代码中 - 我得到了两个答案,"0"(标有***的行)
from tkinter import *
from tkinter import ttk
root = Tk()
w = '400'
h = '100'
root.geometry('{}x{}'.format(w, h))
root.configure(bg='lightgreen')
txt = StringVar()
txt.set("Hello")
testframe = ttk.Frame(root)
testframe.grid(row=0, column=1 )
label1 = ttk.Label(testframe, textvariable=txt)
label1.grid(row=0, column=0)
print(testframe["width"], testframe.cget("width")) ***This line
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个弹出窗口,其中包含供用户响应的不同文本消息。
我寻求一种方法来将文本(标签)和按钮置于该窗口内的中心,但没有成功。
弹出窗口具有确定的大小。将框架内部居中应考虑文本标签的宽度和高度(以字母数量定义)。
正如您在代码中看到的,w,h定义了窗口的大小,xbias,ybias有一个居中的表达式testframe(都包含alpha1,alpha2作为文本大小的校正因子)
我正在寻找alpha1, alpha2(现在等于 1 )的数学表达式......或者构建这样一个弹出窗口的更好方法。
root = Tk()
w = '400'
h = '100'
root.geometry('{}x{}'.format(w, h))
root.configure(bg='lightgreen')
txt = StringVar()
txt.set("This is an error message")
alpha1 = 1
alpha2 = 1
xbias = int(w) / 2 - (len(txt.get()) / 2) * alpha1
ybias = int(h) / 2 - alpha2
testframe = ttk.Frame(root)
testframe.grid(row=0, column=1, pady=ybias, padx=xbias)
label1 = ttk.Label(testframe, textvariable=txt) …Run Code Online (Sandbox Code Playgroud) 使用以下代码创建了一个条目数组
from tkinter import *
root = Tk()
height = 5
width = 5
delta=0
for i in range(height): #Rows
for j in range(width): #Columns
b = Entry(root, text="",width=8)
b.grid(row=i, column=j)
mainloop()
Run Code Online (Sandbox Code Playgroud)
如何访问每个条目以更新其值(例如,使用 StringVar)?
我在一个文件中创建了一个函数,并希望在 python 中的另一个脚本中运行它时访问它(例如,在 MatLab 中,您将函数创建为文件,并且可以在其他程序中访问它)
我正在尝试创建一个class通用Entry实例.
我使用self.statuslist来改变它的值(自动更新的一部分).
但是,一些非常奇怪的事情发生了,我找不到它的起源:
创建一个名为的函数status,以便更改每个Entry值.当该函数的名称更改为任何其他 - 我收到此错误消息:
Traceback (most recent call last): ####updated for entire traceback ####
File "schedualer.py", line 271, in <module>
sched_entries.get_stat[r-1][c].set(sch_file[r][c])
TypeError: 'method' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
任何想法为什么?
这是类代码.
class sched_entry (object):
def __init__(self,master,r1,c1,offr,offc,bg1=["yellow"]):
self.status=[]
for r in range(r1):
newrow=[]
for c in range(c1):
v=StringVar()
z=Entry(master,relief=SUNKEN,width=cell_width,bg=bg1,textvariable=v,justify='center')
z.grid(row=r+offr, column=c+offc)
newrow.append(v)
self.status.append(newrow)
def status(): ###### when change to stat(): ---> I get the error
return self.status
Run Code Online (Sandbox Code Playgroud)
我在调用时得到错误:
for r in …Run Code Online (Sandbox Code Playgroud)