【问题标题】:PysimpleGUI Tkinter - Sg.Output Doesn't work with HTML Test runnerPysimpleGUI Tkinter - Sg.Output 不适用于 HTML 测试运行器
【发布时间】:2021-07-07 13:34:45
【问题描述】:

您好,我正在尝试将控制台输出添加到使用 PySimpleGui 创建的窗口中,在我添加 html test-runner 之前它可以完美运行,任何人都可以建议一种同时使用它们的方法

import unittest
import PySimpleGUI as sg

class Sampletestclass(unittest.TestCase):

    def test_1_State(self):
        self.assertTrue(2 > 9)
        print('1')

    def test_2_State(self):
        print("2")

sg.theme("DarkBlue3")
layout = [[sg.Button('Start Test')], [sg.Output(size=(80, 25), key='-OUTPUT-')]]
window = sg.Window('Title', layout, finalize=True)

i = 0
while True:

    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    elif event == 'Start Test':
        i += 1
        window['-OUTPUT-'].update(f'Test {i}\n\n')
        unittest.main(exit=False) ==>Works 

如果我改成

    unitest.main(testRunner=HtmlTestRunner.HTMLTestRunner(Title="Title"))

没有

window.close() 

【问题讨论】:

    标签: python python-3.x python-2.7 tkinter


    【解决方案1】:

    将选项stream 设置为sg.Output.Widget,然后再次设置unittest.main 的选项exit=False

    import HtmlTestRunner
    import unittest
    import PySimpleGUI as sg
    
    class Sampletestclass(unittest.TestCase):
    
        def test_1_State(self):
            self.assertTrue(2 > 9)
            print('1')
    
        def test_2_State(self):
            print("2")
    
    sg.theme("DarkBlue3")
    layout = [[sg.Button('Start Test')], [sg.Output(size=(80, 25), key='-OUTPUT-')]]
    window = sg.Window('Title', layout, finalize=True)
    
    i = 0
    while True:
    
        event, values = window.read()
        if event == sg.WINDOW_CLOSED:
            break
        elif event == 'Start Test':
            i += 1
            window['-OUTPUT-'].update(f'Test {i}\n\n')
            unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(stream=window['-OUTPUT-'].Widget), exit=False)
    
    window.close()
    

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 2022-11-11
      • 2017-05-20
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 2020-08-26
      相关资源
      最近更新 更多