2016-05-07 44 views
0

私は色々な方法を試しましたが、これを解決する方法はありません。 ボタンの色を変更すると、(0,0,1,1)の場合は青色になります。私がTabbedPannelのために同じリストを使用する場合、私は暗い青色を持っており、(0、0、1、0)のために私は白を持っています。私は黒い背景を持っているようですが、私はいつもそれと他の色の組み合わせを持っていますが、私は特定の色を得ることができません。これはSpinnerでも発生しますが、ラベルやボタンでは発生しません。私は何をすべきか?私はdefault_tab_clsを使用しようとしましたが、私が想像することができるように、デフォルトのタブを変更するだけです。Kivyの色を変えるTabbedPannelHeader

初回返信後:

これは問題のある部分です。私はTabbedPanelHeaderを返す関数を呼び出します。すべてがthis.font_padraoはカスタムフォントであり、これはうまくいきます。この例では、私は白い背景と青色のフォントを返します。私がbackground_colorを(0,0,1,1)に変更すると、青は私が同じことをするときに私が持っている青とは違っています。例えばButtonです。そこでは、青は「真っブルー」で、「ダークブルー」ではありません。

return TabbedPanelHeader(text=nome, background_color = (0, 0, 1, 0), font_name=fonte_padrao, color = (0,0,1,1))

+0

あなたは十分な情報を提供していません...あなたの問題を示す小さな例のkivyプログラムを提供してください –

+0

申し訳ありません。ジョラン、私は今、より多くの情報を追加しました。主な問題は、TabbedPanelHeaderにButtonと同じ背景色を持たないことです。スピナーは私にとっても似たような奇妙な振る舞いをしています。 – awulll

答えて

0

私はWindows上でだので、デフォルトの背景は黒、私の知る限りで、多分他のOS上の別の1があります。あなたのmain.py

from functools import partial 
import rotinas 
Window.clearcolor = (1, 1, 1, 1) <----- 
import sqlite3 as sql 
from datetime import * 

あなたの着色でアルファ== 0を使用している場合、あなたの白い色です。その行を削除すると、デフォルトのKivyの背景、つまりが黒色になります。

次のもの、Labelには、背景として画像がありません。そのため、背景色を変数またはキャンバスの指示で透明に変更すると、背景色が変わります。 Spinnerなどのウィジェットでは、基本的に透過とは異なる色を持つものは背景としてatlasの画像を使用します(キャンバスからの設定は、PNGの変更よりも効率的ではありません)。

もし backgroung色を背景即ちatlas一つとして使われている画像のみ色調を変更すること、背景として画像を有するウィジェットを使用します。あなたの問題は、あなたはおそらく透明な色を持っているか、またはTabbedPanelHeader -blue(色付きのもの)を使用したいからです。二つの例:

ここ

あなたは着色青

ここ
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を参照してください(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: '' 
''') 
class Test(BoxLayout):pass 
runTouchApp(Test()) 

PS:使用pep8または1つを自分(pip install pep8)をインストールし、コードをより読みやすくします。 多くの場合、1年後にはデバッグの問題の、私を信頼しています。それはうまくいくかもしれませんが、あなたはPythonの可読性の全体点を殺しました。

また、.dbというファイルをあなたのzipに見ましたが、開こうとしませんでした。誰かにあなたのデータベースを投稿したことは、あなたが確かにそれと何をするのか分からないのは悪いです。あなたが公に投稿したことさえさらに悪いことです。そのデータベースに個人情報、銀行口座番号などが含まれているとします。あなたがそれらを失う、または悪用することに責任を負うことを望んでいないとしますか?

+0

KeyWeeUsr、答えはありがたいですが、間違いなくこれは問題ではありません。私はここに画像を置く:http://doatlanticoaopacifico.com/app/problem_color.pngバックグラウンドはまったく同じタプルだが、結果は異なる。さらに、この例では、フォントと背景の両方が(0,0,1,1)ですが、テキストを読むことができます!奇妙な、ない? – awulll

+1

[TabbedPanelHeader](https://github.com/kivy/kivy/blob/master/kivy/data/style.kv#L151)は、デフォルトテーマ(atlas://)の画像をバックグラウンドとして使用します。同じ色で同じ結果を得たい場合は、その画像も使用してください。また、あなたは間違いなくこのようなもの(スクリーンショット、スニペット、...)をあなたの質問に含めるべきです_first_:P – KeyWeeUsr

+0

background_disabled_image = ''とbackground_image = ''を実行しようとしましたが、何も変わりませんでした。両方とも既存の数字に設定しようとしましたが、何も変わりませんでした。しかし、あなたが言ったように、私が望む青でイメージをすべて青にすると、私は正しい色を得ることができますよね?しかし、なぜ私はbackground_imageを使って画像を設定できないのですか? – awulll

関連する問題