我有一个应用程序:
class App(tk.Tk):
def __init__(self):
super().__init__()
# Set app title
self.app_title = 'Visual Python'
self.title(self.app_title)
# Set app icon
self.iconbitmap('icon.ico')
并进行测试:
class TestApp(unittest.TestCase):
def setUp(self):
self.app = App()
def test_app_title(self):
self.assertEqual(self.app.title(), 'Visual Python')
def test_app_icon(self):
self.assertEqual(self.app.iconbitmap(), 'icon.ico')
当我用
py -3 -m unittest
运行测试时,得到以下输出:F.
======================================================================
FAIL: test_app_icon (test.test_app.TestApp)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ismailarilik\visual-python\test\test_app.py", line 12, in
test_app_icon
self.assertEqual(self.app.iconbitmap(), 'icon.ico')
AssertionError: '' != 'icon.ico'
+ icon.ico
----------------------------------------------------------------------
Ran 2 tests in 0.279s
FAILED (failures=1)
为什么这里的
iconbitmap
方法返回空字符串而不是给定的'icon.ico'
字符串? 最佳答案
Source:
如果为位图指定了空字符串,则任何当前图标
位图被取消窗口。如果指定了位图,则
命令返回一个空字符串。否则,它将返回
与窗口关联的当前图标位图,如果为空则为空字符串
窗口没有图标位图。
我认为您的情况属于用粗体突出显示的最后一种情况。我的意思是,您必须确保将图标设置为correctly,具体取决于您的平台。
关于python - tkinter.iconbitmap方法返回空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51395141/