[英]Changing color TabbedPannelHeader in Kivy
我嘗試了許多不同的方法,但是沒有辦法解決這個問題。 當我更改按鈕的顏色時,對於(0,0,1,1)我有藍色。 如果對TabbedPannel使用相同的列表,則顯示為深藍色,對於(0,0,1,0),則顯示為白色。 就像我有黑色背景,並且我總是將其與其他任何顏色混合使用,但是我無法獲得特定的顏色。 Spinner也會發生這種情況,但Label或Button不會發生。 我該怎么辦? 我嘗試使用default_tab_cls,但是,正如我可以想象的那樣,它只是更改了默認選項卡。
版后第一個答案:
這是我遇到的問題。 我調用一個返回TabbedPanelHeader的函數。 一切正常,這是可以的。font_padrao是自定義字體,並且運行良好。 本示例返回白色背景和藍色字體。 如果將background_color更改為(0,0,1,1),則藍色與例如在按鈕中執行相同操作時的藍色不同。 在這里,藍色是“真藍色”,而不是“深藍色”或類似的東西。
return TabbedPanelHeader(text=nome,
background_color = (0, 0, 1, 0),
font_name=fonte_padrao,
color = (0,0,1,1))
我在Windows上,所以默認背景是black afaik, 但也許在其他OS上有不同的背景 。
在您的main.py
:
from functools import partial
import rotinas
Window.clearcolor = (1, 1, 1, 1) <-----
import sqlite3 as sql
from datetime import *
如果您在着色中使用alpha == 0,那就是白色。 刪除該行,您將擁有默認的Kivy背景,即black 。
接下來, Label
本身沒有圖像作為背景,因此,使用變量或畫布指令更改其背景顏色會產生清晰的顏色。 在諸如Spinner
小部件中,或者基本上任何顏色與透明顏色不同的部件,都極有可能使用來自atlas
的圖像作為背景(從畫布設置內容的效率低於更改png的效率-至少需要多行代碼)。
當您使用以圖像為背景的小部件時,更改背景色只會使用作背景的圖像(即atlas
着色。 這是您的問題,因為您可能希望擁有清晰的顏色或使用TabbedPanelHeader
-blue(着色一個)。 兩個例子:
在這里,您有藍色(不需要使用background_normal
,默認情況下,它設置為kivy)
from kivy.lang import Builder
from kivy.base import runTouchApp
from kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<Test>:
TabbedPanelHeader
color: (0,0,1,1)
text:'blaaaaaaa'
background_color: (0, 0, 1, 1)
background_normal: 'atlas://data/images/defaulttheme/tab_btn'
''')
class Test(BoxLayout):pass
runTouchApp(Test())
這是標准的清晰顏色(請參見空的background_normal
):
from kivy.lang import Builder
from kivy.base import runTouchApp
from kivy.uix.boxlayout import BoxLayout
Builder.load_string('''
<Test>:
TabbedPanelHeader
color: (0,0,1,1)
text:'blaaaaaaa'
background_color: (0, 0, 1, 1)
background_normal: ''
''')
class Test(BoxLayout):pass
runTouchApp(Test())
PS: 使用pep8或自己安裝一個( pip install pep8
),並使您的代碼更具可讀性。 調試一年后,您會遇到很多問題,請相信我。 它可能工作得很好,但是您殺死了python可讀性的整個觀點。
另外,我在您的zip文件中看到了一些.db
文件,但沒有打開它們。 您將數據庫發布給某個您肯定不知道該怎么做的人的做法是不好的。 更糟糕的是,您公開發布了它。 假設您在該數據庫中擁有個人數據,銀行帳號或其他內容-您不想對丟失或濫用它們負責,對嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.