Kivy-Python在多处理中工作,又打开了一个白屏

问题描述 投票:0回答:1
    import file...
    from mobus import modbus
    .....

class MainWindow(Screen):
    def __init__(self, **kwargs):
        super(MainWindow, self).__init__(**kwargs)

class SecondWindow(Screen):
    pass

class ThirdWindow(Screen):
    pass

class WindowManager(ScreenManager):
    pass

class mainApp(MDApp):
    def build(self):
        iconfonts.register('default_font', 'iconfonts\gar.ttf',
                           join(dirname(__file__), 'iconfonts\gar.fontd'))

        Config.set('graphics', 'width', '1080')
        Config.set('graphics', 'height', '720')
        return Builder.load_file("my.kv")


def de():
    mainApp().run()

def modbusStart():
    modbus.connect()

if __name__ == "__main__":

    a = Process(target=de)
    b = Process(target=modbusStart)
    a.start()
    b.start()

Screen looks like当我运行时,此代码将打开另一个白色的窗口。我不知道为什么要打开以及如何修复它?我认为这与Screen Manager和2.process有关。我尝试了所有组合来解决它,但我不能

python multiprocessing kivy screen kivy-language
1个回答
0
投票

[在UbuntuWindows 10上尝试了类似您的代码之后,我发现了一些奇怪的行为。首先,多余的Window似乎只出现在Windows上,并且仅当您导入MDApp时才出现。即使您只是导入MDApp而不实际使用它,也会发生额外的Window行为。

我认为您已找到应向kivyMD开发人员报告的错误。

我发现停止额外的Window行为的唯一方法是不使用(甚至不导入)MDApp

© www.soinside.com 2019 - 2024. All rights reserved.