python - 你如何使用kivy设计语言使窗口全屏显示?

标签 python kivy kivy-language

谁能告诉我如何使用设计语言将 kivy 窗口设置为全屏模式?

我正在寻找的结果是有边框的全屏/无边框的全屏。如果您运行以下示例,您将确切地看到我想要实现的目标。

from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.config import Config
from kivy.app import App

class ExampleClass(Widget):
    pass



class ExampleApp(App):
    def build(self):
       return ExampleClass()


Window.fullscreen = 'auto'
ExampleApp().run()

'''
   If you've never run it with that setting before. Be ready for borderless
   Full screen output.It can be scary the first time you see it lol :D
'''

我正在使用的代码示例如下。

from kivy.lang import Builder
from kivy.core.window import Window
from kivy.graphics import Canvas
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.config import Config


class StartScreen(Screen):

    def Mute_Audio(self):
        pass


    def new_g(self):
        pass




    def l_g(self):
        pass


    def Settings(self):
        pass  



class SelectionScreen(Screen):
    pass


class MyScreenManager(ScreenManager):
    pass


root_widget = Builder.load_string('''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
MyScreenManager:
    transition: FadeTransition()
    StartScreen:
    SelectionScreen:

<StartScreen>:
    name: 'start_screen'
    canvas:
        Rectangle:
            pos: self.pos
            size: self.size



    Button:
        id: b_1
        pos: 330,350
        size_hint:  0.2, 0.1
        text: 'button 1'
        font_size: 18
        on_press: root.new_g()
        on_release: app.root.current = 'selection_screen'


    Button:
        id: b_2
        pos: 330, 280
        size_hint:  0.2, 0.1
        text: 'button_2'
        font_size: 18


    Button:
        id: settings
        pos: 330, 210
        size_hint: 0.2, 0.1
        text: 'Settings'
        font_size: 18


    Button:
        id: mute_button
        pos:658, 495     
        size_hint: 0.2, 0.2







<SelectionScreen>:
    name: 'selection_screen'
    canvas:
        Rectangle:
            pos: self.pos

''')

class ExampleApp(App):
    def build(self):
        self.title = 'Save me Stack Overflow'
        return root_widget

ExampleApp().run()  

重申一下,我需要帮助使用设计语言将窗口设置为全屏。我只是不知道如何使用 kv 将其设置为全屏。

更新:

再次重申。我不关心小部件的位置或全屏的外观。我只需要知道如何使用设计语言(又名 KV)将窗口设置为全屏模式。

我展示了两个例子。第一个例子展示了我想做什么。因为它显示了一个无边框的全屏窗口。第二个例子说明了设计语言的例子。我需要在第二个示例中实现第一个示例中产生的相同结果,但我需要使用设计语言而不是直接使用 python 来完成。

最佳答案

看来可以从KV文件做到这一点! (使用setattr)

一些kv文件:

#:import Window kivy.core.window.Window

<RootWidget>:
     some_property: setattr(Window, 'fullscreen' , 'auto')  or 'real_value!'

虽然hackish...

关于python - 你如何使用kivy设计语言使窗口全屏显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43902010/

相关文章:

python - 返回的输出未进入 xlsxwriter

python - 无法使用 azure 注册登录 IMP4 Outlook 电子邮件

python - 如何在 opencv 2.4.11 python 中调整轮廓大小? (目标 : Object extraction)

python - 如何访问 kivy 中不同类的小部件

python-2.7 - 如何从数据库中获取数据并在 kivy+python 中显示在表中

python - 删除 HTML 文件中的换行符

python - exe 编译的 Kivy 程序访问图像的问题

python - 带有pycharm导入错误的kivy

python - 如何在简单的 Kivy 应用程序中将 Pandas Dataframe 显示为表格?

python - Kivy ScreenManager 破坏了 BoxLayout