2015-04-17 62 views
0

我正在用Kivy構建一個python桌面應用程序,並想了解如何創建一個類似於EVE Online的無邊界窗口:EVE Online launch screen如何在Kivy中創建無邊框窗口?

這是我在哪裏,現在,我想在接下來的步驟來實現:What I want to accomplish

我已經花了幾個小時谷歌搜索的解決方案,但我所見過最接近的是這些鏈接:How can I hide the main window titlebar and place a transparent background in kivy framework?和這樣的:Borderless windows in wxPython

下面是當前代碼(Python 2.7版,1.9 Kivy):

from kivy.app import App 
from kivy.uix.button import Button 
from kivy.config import Config 

Config.set('graphics', 'width', '480') 
Config.set('graphics', 'height', '320') 
Config.set('graphics', 'borderless', '1') 

class MyApp(App): 
def build(self): 
    button = Button(text="Exit", size_hint=(None, None)) 
    button.bind(on_press=exit) 
    return button 

if __name__ == '__main__': 
    MyApp().run() 

我想看看是否能在Kivy完成。你能提出一些解決這個問題的方法嗎?謝謝!

回答

4

要建立一個無國界的窗口中設置Windows.borderless屬性爲true

from kivy.core.window import Window 

Window.size = (500, 300) 
Window.borderless = True 

一定要以另一種方式來退出你的程序,因爲你將不能夠點擊,通常提供的窗口關閉按鈕由操作系統。

請參閱kivy.core.window documentation

0

您可以使用小部件BoxLayout並配置設置,使其按照您的需要顯示。我是Kivy的新手,但這些視頻很好地解釋了這一點: https://m.youtube.com/watch?v=-NvpKDReKyg希望這會有所幫助!

0

您可以添加Config.set('graphics','resizable','0'),它刪除窗口的剩餘邊界部分。缺點是窗口不再可以拖動並保持在固定位置。