1

さまざまな方法を試しましたが、これを解決するものはありません。ボタンの色を変更すると、(0,0,1,1) は青になります。TabbedPannel に同じリストを使用すると、濃い青になり、(0, 0, 1, 0) には白になります。黒い背景があり、常にそれと他の色が混在しているようですが、特定の色を取得できません。これはスピナーでも発生しますが、ラベルやボタンでは発生しません。私は何をすべきか?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))

4

1 に答える 1

0

私はWindowsを使用しているため、デフォルトの背景は黒ですが、他の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(着色されたもの)を使用する必要があるため、問題があります。2 つの例:

ここに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)、コードを読みやすくしてください。1年後にはデバッグに多くの問題が発生するでしょう、私を信じてください。うまくいくかもしれませんが、Pythonの読みやすさのポイント全体を殺しました。

また.db、あなたのzipにいくつかのファイルがありましたが、それらを開きませんでした. あなたが自分のデータベースを誰かに投稿したことは、それがどうなるか見当もつかないということです。さらに悪いのは、あなたがそれを公に投稿したことです。そのデータベースに個人データや銀行口座番号などがあるとしましょう。それらを紛失したり悪用したりする責任は負いたくないでしょう?

于 2016-05-07T19:48:46.643 に答える