1

所以我试图用 if 条件实现一个 python 文件,并根据条件我想要一个警报消息提示。对于第二个 python 文件,我想将 tkinter 的东西分开,这样它对于更大规模的项目来说更干净。

我得到了这个工作,但现在我有 2 条警报消息填充。我只希望根据 if 条件弹出 1 条警报消息。

#example1.py
import tkinter as tk
import tkinter.messagebox


alert = tk.Tk()
alert.withdraw()

def alertbox():
    alertbox.message_1=tk.messagebox.showwarning(title="Alert", message='Working')
    alertbox.message_2=tk.messagebox.showwarning(title="Alert", message='not working')

alertbox()
        
#    -----------
#example2.py
import example1

class Logic:
    def results():
        a = 100
        b = 10
        if a > b:
          example1.alertbox.message_1
        else:
          example1.alertbox.message_2
4

1 回答 1

0

那是因为您调用的函数显示了两个消息框。您应该创建两个单独的函数:

example1.py

import tkinter as tk
import tkinter.messagebox as msg

def message1():
    msg.showwarning(title="Alert", message="Message")

def message2():
    msg.showwarning(title="Alert", message="Message 2")

alert = Tk()
alert.withdraw()

您也不需要在example1.py.

example2.py

import example1

class Logic:
    def mymethod(self):
        if self.a > self.b:
            example1.message1()
        else:
            example1.message2()
于 2021-08-06T00:39:31.787 回答