2016-10-12 114 views
1

我正在使用kivy爲我的python程序創建一個小Gui。這個桂並不總是可見的。所以我從這些設置開始:如何在運行時使窗口可見/不可見?

Config.set('graphics', 'borderless', True) 
Config.set('graphics', 'resizable', False) 
Config.set('graphics', 'window_state', 'hidden') 

但是:在我的程序中的某個地方,我想讓窗口再次可見。我怎麼做?我無法找到任何在運行時改變配置的東西。

回答

2

看來,如果你使用的是SDL提供你有隱藏&顯示窗口對象

功能從kivy.core.window文檔:

hide() Added in 1.9.0 
Hides the window. This method should be used on desktop platforms only. 

Note 
This feature requires the SDL2 window provider and is currently only supported on desktop platforms. 

show()¶Added in 1.9.0 
Shows the window. This method should be used on desktop platforms only. 

Note 
This feature requires the SDL2 window provider and is currently only supported on desktop platforms. 
+0

酷!那工作。關於如何將窗口放在前面的任何想法? :P – Fuzzyma

+0

對我發佈的鏈接的評論討論的焦點沒有被設置,它說: 「我可以證實這也發生在我身上,我必須把.show()兩次讓它按預期工作。」 – tgikal

+0

這不適合我。但是'Window.minimize()'+'Window.restore()'做了訣竅 - 什麼是黑客...爲什麼沒有'focus()'方法? – Fuzzyma

1

我不熟悉Kivy,但看起來你只需要將其設置爲可見即可。

window_state:字符串的 '可見', '隱藏', '最大化' 一\ 或 '最小化'

https://kivy.org/docs/_modules/kivy/config.html

望着這github上一篇:https://github.com/kivy/kivy/issues/3637

他們使用的方法是.hide()和.show()。

+0

正如我在我的問題中所說的:只是在運行時更改Config什麼也不做 – Fuzzyma

+0

對不起,當時沒有理解。 – tgikal

相關問題