如何用kivy设计语言做出window全面屏?
How do you make a window full screen using the kivy design language?
谁能告诉我如何使用设计语言将 kivy window 设置为全屏模式?
我正在寻找的结果是全 screen/border-less 全屏边框。如果您 运行 下面的示例,您将确切地看到我想要实现的目标。
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()
重申一下,我需要帮助使用设计语言将 window 设置为全屏。我只是不知道如何使用kv将它设置为全屏。
更新:
重新迭代。我不关心小部件的位置或全屏的外观。我只需要知道如何使用设计语言 aka KV 将 Window 设置为全屏模式。
我举了两个例子。第一个例子展示了我想做什么。因为它显示了一个无边框的全屏 window。第二个例子说明了设计语言的例子。我需要在第二个示例中实现第一个示例中产生的相同结果,但不是直接 python 我需要用设计语言来完成。
看来可以从KV文件做到! (使用 setattr)
一些kv文件:
#:import Window kivy.core.window.Window
<RootWidget>:
some_property: setattr(Window, 'fullscreen' , 'auto') or 'real_value!'
这是hackish虽然...
谁能告诉我如何使用设计语言将 kivy window 设置为全屏模式?
我正在寻找的结果是全 screen/border-less 全屏边框。如果您 运行 下面的示例,您将确切地看到我想要实现的目标。
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()
重申一下,我需要帮助使用设计语言将 window 设置为全屏。我只是不知道如何使用kv将它设置为全屏。
更新:
重新迭代。我不关心小部件的位置或全屏的外观。我只需要知道如何使用设计语言 aka KV 将 Window 设置为全屏模式。
我举了两个例子。第一个例子展示了我想做什么。因为它显示了一个无边框的全屏 window。第二个例子说明了设计语言的例子。我需要在第二个示例中实现第一个示例中产生的相同结果,但不是直接 python 我需要用设计语言来完成。
看来可以从KV文件做到! (使用 setattr)
一些kv文件:
#:import Window kivy.core.window.Window
<RootWidget>:
some_property: setattr(Window, 'fullscreen' , 'auto') or 'real_value!'
这是hackish虽然...