私は、情報を表示するゴルフ競技の詳細を含む 'sqlite'データベースを持つkivyプログラムを持っています&標準のポップアップ機能を介した警告メッセージ - pop_mess() テスト目的のためにfunction - set_test_db()で代替の 'testing'データベースを開きます。これが完了したら、ポップアップの背景色を変更して、メインデータベースが使用されていないことをユーザーに警告したいと思います。pythonでkivyポップアップウィジェットの背景を変更
私はこれをやろうとしました( 'set_test_db'の最後のコード)。しかし、ルーチンは現在の背景色を正しく取得しますが、それを変更することはありません。
誰かが解決策の方向で私を指摘できますか?コーディング方法は、ウィジェットのテキストプロパティを変更するために正常に動作します。 (同様の質問は通常、テキストプロパティを参照します)。私はリストの両方を使用して&タプルの色の値です。 .kyファイルで
main.pyで
<CustomPopup>:
popup_message: popup_message
size_hint: .98, .75
id: popup_id
title: "Casual and Ancient"
title_align: 'center'
title_color: 1,.5,.3,1
BoxLayout:
id: contentbox
orientation: 'vertical'
TextInput:
id: popup_message
color: .3,.4,1.0,1
background_color: [.7,1.0,.2,1]
text: "text message goes here"
font_size: 16
font_name: 'RobotoMono-Regular'
…..
CaaRoot:
<CaaRoot>:
orientation: 'lr-tb'
padding: 10
etc
...
def pop_mess(self,message):
p_up=CustomPopup()
lab=p_up.ids['popup_message']
lab.text=message
p_up.open()
(自己= CaaRoot) ...
def set_test_db(self):
# on button in CaaRoot
# open test data base instead of real
if self.db != None:
print 'Cannot Open Test Data Base - already running'
else:
# open ‘test’ database
# set background colour of popup to warn user.
fn='/home/.... caatestdb.db
self.op_db(fn)
self.testing='TEST database'
p_up=CustomPopup()
lab=p_up.ids['popup_message']
x=lab.background_color
new_col=[.9,.3,.3,1]
lab.background_color=new_col
self.pop_mess('color set to : '+str(new_col)+ ' was : '+str(x))
私はKivyの背景を変更する(同様の質問に出くわした私の問題の更なる調査にポップアップ表示さ
color set to : [0.9, 0.3, 0.3, 1] was : [0.7, 1.0, 0.2, 1]
(まだ[0.7、1.0、0.2、1]に設定された背景を持つ)
リンクありがとうございます。私は 'md'をクローンし、 'kitchen sink'デモを実行しようとしましたが、 'ImportError:No recycleview 'というモジュールと 'kivymd.menu.MDDropdownMenu'パッケージをインポートできませんでした。私がそれを必要とすることはありますが、kivyの特定の側面があります。 – Iain1940
RecycleViewはKivyライブラリでは非常に新しいので、Kivy-Gardenからバージョンをダウンロードする必要があります。他にもすばらしいウィジェットがいくつかあります。他の可能性は、1.9.2-devを複製することです。 [link](https://kivy.org/docs/api-kivy.uix.recycleview.html)を見てください。recycleviewはバージョン1.10で追加されました – Fari