我正在从我的机器人框架脚本中调用一个类,它打开了Tkinter的两个窗口。我试着通过PyCharm和cmd来运行我的python对象,但我只得到了一个Tkinter窗口。但是,当我通过RobotFramework调用我的对象时,它会打开一个空白的Tk窗口和预期的Tk窗口。有什么想法吗?
我的Hello.py是:
from Tkinter import *
class hello(object):
def __init__(self, question="Not today"):
self.question = question
self.master = Tk()
self.lbl = Label(self.master, text=self.question)
self.lbl.pack()
self.btn = Button(self.master, text="Yes", command=self.yes_command)
self.btn.pack()
self.master.mainloop()
def yes_command(self):
print("User pressed Yes")
self.master.quit()
self.master.destroy()
我的tk_hello文件内容如下:
from Tkinter import *
class tk_hello(object):
def __init__(self, question):
self.question = question
self.master = Tk()
self.lbl = Label(self.master, text=self.question)
self.lbl.pack()
self.btn = Button(self.master, text="Yes", command=self.yes_command)
self.btn.pack()
self.master.mainloop()
def yes_command(self):
print("User pressed Yes")
self.master.quit()
self.master.destroy()
我的机器人框架脚本是:
*** Settings ***
Library hello.py
*** Variables ***
*** Test Cases ***
Example_1
Import Library ${CURDIR}\\..\\work_project\\tk_hello.py "Worked" WITH NAME Try_This
Log To Console \r ${CURDIR}
发布于 2019-02-21 07:24:11
当您导入Hello.py时,robot会检测到一个名为hello
的类,因此它会自动将其实例化。它在__init__
函数中创建了一个根窗口,这是您的第一个窗口。
当您导入tk_hello.py时,robot会检测到一个名为tk_hello
的类,因此它会自动将其实例化。它在__init__
函数中创建了一个根窗口,这是您的第二个窗口。
https://stackoverflow.com/questions/54796405
复制相似问题