对Tkin使用aftermethod

2024-09-27 23:25:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用GUI中的“after”方法时遇到问题。 我们的目标是创建一个循环,用给定的输入变量计算“流”。 到目前为止,我还没有设法让我的代码运行,我的文档是关于“after”或这篇文章Tkinter only calls after_idle once

我的代码:

import Tkinter as tk
from Tkinter import *
import ttk
import tkMessageBox

class Regeln():
    def __init__(self):
        bla=1
    def lesen(self,faktor,stromdichte,flaeche,anzahl,elektronen,konzentration):
        self.faktor=faktor
        self.stromdichte=stromdichte
        self.flaeche=flaeche
        self.anzahl=anzahl
        self.elektronen=elektronen
        self.konzentration=konzentration
        try:
            self.faktor=float(self.faktor)
            self.stromdichte=float(self.stromdichte)
            self.flaeche=float(self.flaeche)
            self.anzahl=float(self.anzahl)
            self.elektronen=float(self.elektronen)
            self.konzentration=float(self.konzentration)
        except:
            tkMessageBox.showerror("Achtung!","Nur Zahlen eingeben!")
        try:
            1/(self.faktor*self.stromdichte*self.flaeche*self.anzahl*self.elektronen*self.konzentration)         
        except:
            tkMessageBox.showerror("Achtung!","Nur Werte größer 0 eingeben!")
        self.algorithmus()

    def algorithmus(self):
        flow=self.faktor*self.stromdichte*self.elektronen*60/(96485.34*self.konzentration*0.75/100)*self.flaeche*self.anzahl/1000
        print flow

        self.after(1500,self.algorithmus)

我得到了一个“属性错误”。有人知道怎么运行吗?在


Tags: importselftkinterdeffloattryaftertkmessagebox
1条回答
网友
1楼 · 发布于 2024-09-27 23:25:28

after是所有tkinter小部件上都可用的方法。在您的特定情况下,self不是一个小部件,因此自然不会有这个方法。在

您需要从现有的小部件调用after。例如,如果您最初是使用以下方式创建GUI:

root = tk.Tk()

以后可以这样调用after

^{pr2}$

相关问题 更多 >

    热门问题