谁能告诉我如何使用设计语言将 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/