我写了一个简单的Python应用程序来测量某个事件的时间。 一切工作正常,但在两个不同的操作系统上看起来完全不同的事实让我有点头痛。 我可以做些什么,为什么会这样? 我的意思是,最后,代码是一样的。
# str8.py # Program to measure time from a certain event from tkinter import * from datetime import datetime class FormatLabel(Label): # A new type of Label widget that allows both text and textvariable def __init__(self,master = None,**kwargs): self.textvariable = kwargs.pop('textvariable',StringVar(master)) self.text = kwargs.pop('text','{}') self.textvariable.trace('w',self.update_text) Label.__init__(self,master,**kwargs) def update_text(self,*args): self.config(text = self.text.format(self.textvariable.get())) class App(Frame): def __init__(self,**kwargs): Frame.__init__(self,**kwargs) lbl = Label(self,text = 'You have been STR8 for:n',font = 'Verdana 8 bold') lbl.grid(row=0,sticky=W) self.counters = dict() measurements = [ 'Years','Weeks','Days','Hours','Minutes','Seconds' ] for i,measurement in enumerate(measurements): self.counters[measurement] = DoubleVar() lbl = FormatLabel(self,text = measurement + ": {:.2f}",# set the rounding here textvariable = self.counters[measurement],font = 'Verdana 8') lbl.grid(row = i + 1,column = 0,sticky = W) self.counters[measurement].set(0) btn = Button(self,text = 'EXIT',font = 'Verdana 8',height = 1,width = 19,command = quit) btn.grid(row = 7,column = 0) self.increment() def increment(self): event = datetime(2017,4,0) today = datetime.Now() str8 = (today - event).total_seconds() self.counters['Minutes'].set(str8 / 60.) self.counters['Hours'].set(str8 / 3600.) self.counters['Seconds'].set(str8) self.counters['Days'].set(str8 / (3600. * 24)) self.counters['Weeks'].set(str8 / (3600. * 24 * 7)) self.counters['Years'].set(str8 / (3600. * 24 * 7 * 52)) self.after(1000,self.increment) def main(): root = Tk() app = App(root) app.pack() root.title("STR8") root.resizable(width = False,height = False) app.mainloop() if __name__ == '__main__': main()
图片:
Linux Mint XFCE
Windows 10
计算bash中有多less行继续到下一行?
静态内存分配与C中dynamic内存分配的成本
Linux内核模块中的Linux Real Mode Interface
如何在Perl中为需要JavaScript的页面进行Webtesting?
perf_event_open溢出信号
在Linux ARM上运行Android的ARM二进制文件
如何获得特定进程的进程ID?
在共享ARM9 GPIO中断(linux)上需要帮助处理多个共享I2C MAX3107芯片
使用qsub运行shellscript时出现'文件意外结束'和'错误导入函数定义'错误
如何在实时Linux应用程序中logging数据?
tkinter的设计并不是在每个平台上都是一样的。 相反,它是专门设计在每个平台上看起来不同。 它被设计为工作相同,但不一定看起来一样。 只要有可能,它就会使用底层操作系统的小部件工具包来绘制小部件(例如,您将在OSX上获得OSX外观按钮,在窗口上显示窗口按钮等)
tkinter的主要目标是在所有平台上运行相同的代码,并且工作原理相同,但尽可能遵守平台指南。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。