有人可以告诉我如何使用设计语言将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中做,我需要在设计语言中做到这一点。
答案 0 :(得分:1)
似乎可以从KV文件中进行! (使用 setattr )
一些kv文件:
#:import Window kivy.core.window.Window
<RootWidget>:
some_property: setattr(Window, 'fullscreen' , 'auto') or 'real_value!'
虽然是 hackish ......