2017-11-08 5 views
-2

私のアプリにはティンカーRadio Buttonを使っています!Tkinterのボタンはデフォルトでマイナス記号を持っています

# Get checkboxes for Main Coin Selector 
    checkbox_btc_main = tkinter.Radiobutton(app.window, text="BTC", variable=main_coin, value="btc", command=do_analyze_coin) 
    checkbox_bcc_main = tkinter.Radiobutton(app.window, text="BCC", variable=main_coin, value="bcc", command=do_analyze_coin) 
    checkbox_dash_main = tkinter.Radiobutton(app.window, text="DASH", variable=main_coin, value="dash", command=do_analyze_coin) 
    checkbox_doge_main = tkinter.Radiobutton(app.window, text="DOGE", variable=main_coin, value="doge", command=do_analyze_coin) 
    checkbox_eth_main = tkinter.Radiobutton(app.window, text="ETH", variable=main_coin, value="eth", command=do_analyze_coin) 
    checkbox_ltc_main = tkinter.Radiobutton(app.window, text="LTC", variable=main_coin, value="ltc", command=do_analyze_coin) 
    checkbox_nxt_main = tkinter.Radiobutton(app.window, text="NXT", variable=main_coin, value="nxt", command=do_analyze_coin) 
    checkbox_str_main = tkinter.Radiobutton(app.window, text="STR", variable=main_coin, value="str", command=do_analyze_coin) 
    checkbox_nem_main = tkinter.Radiobutton(app.window, text="NEM", variable=main_coin, value="xem", command=do_analyze_coin) 
    checkbox_xrp_main = tkinter.Radiobutton(app.window, text="XRP", variable=main_coin, value="xrp", command=do_analyze_coin) 

    # Get checkboxes for Coin Selector 
    checkbox_btc = tkinter.Radiobutton(app.window, text="BTC", variable=coin, value="btc", command=do_analyze_coin) 
    checkbox_bcc = tkinter.Radiobutton(app.window, text="BCC", variable=coin, value="bcc", command=do_analyze_coin) 
    checkbox_dash = tkinter.Radiobutton(app.window, text="DASH", variable=coin, value="dash", command=do_analyze_coin) 
    checkbox_doge = tkinter.Radiobutton(app.window, text="DOGE", variable=coin, value="doge", command=do_analyze_coin) 
    checkbox_eth = tkinter.Radiobutton(app.window, text="ETH", variable=coin, value="eth", command=do_analyze_coin) 
    checkbox_ltc = tkinter.Radiobutton(app.window, text="LTC", variable=coin, value="ltc", command=do_analyze_coin) 
    checkbox_nxt = tkinter.Radiobutton(app.window, text="NXT", variable=coin, value="nxt", command=do_analyze_coin) 
    checkbox_str = tkinter.Radiobutton(app.window, text="STR", variable=coin, value="str", command=do_analyze_coin) 
    checkbox_nem = tkinter.Radiobutton(app.window, text="NEM", variable=coin, value="xem", command=do_analyze_coin) 
    checkbox_xrp = tkinter.Radiobutton(app.window, text="XRP", variable=coin, value="xrp", command=do_analyze_coin) 

    # Load Coin selector Button 
    app.load_coin_selector_checkbox(checkbox_btc_main, rown=1, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_bcc_main, rown=2, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_dash_main, rown=3, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_doge_main, rown=4, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_eth_main, rown=5, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_ltc_main, rown=6, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_nxt_main, rown=7, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_str_main, rown=8, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_nem_main, rown=9, columnn=3) 
    app.load_coin_selector_checkbox(checkbox_xrp_main, rown=10, columnn=3) 

    # Load Coin selector Button 
    app.load_coin_selector_checkbox(checkbox_btc, rown=1, columnn=4) 
    checkbox_btc.deselect() 
    app.load_coin_selector_checkbox(checkbox_bcc, rown=2, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_dash, rown=3, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_doge, rown=4, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_eth, rown=5, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_ltc, rown=6, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_nxt, rown=7, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_str, rown=8, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_nem, rown=9, columnn=4) 
    app.load_coin_selector_checkbox(checkbox_xrp, rown=10, columnn=4) 

これは、問題が2列目のRadio Buttonsはマイナス記号で表示なっていることであるアプリ

def create_coin_selector_checkbox(self, checkbox_text="Text", checkbox_value="Value"): 
     return tkinter.Checkbutton(
      self.window, 
      text = checkbox_text, 
      variable=checkbox_value 
     ) 

    def load_coin_selector_checkbox(self, checkbox, rown = 0, columnn = 0): 
     checkbox.grid(
      row=rown, 
      column=columnn, 
      sticky='W', 
      ipady = 2.5 
     ) 

Radio Buttonを作成し、ロードするために別のファイル内のコードです。最初の列のRadio Buttonsが正しく表示されます。 2番目の列のRadio Buttonsを最初にRadio Buttonsのようにしたいと思います。ここでは、アプリケーションウィンドウのスナップショットです!

+0

デバッグに関する質問をする場合は、問題を確実に発生させることができる最小のコード量の例を提示する必要があります* *、[このガイド](https://stackoverflow.com/help/mcve)を見直して改訂してください。 –

+0

これはあまりにも多くのコードです。ラジオボタンを聞いている場合、20個のラジオボタンを見る必要はありません。 1つまたは2つだけで十分です。 [最小限の完全で検証可能な例の作成方法]を参照してください。 –

+0

イメージをアップロードするにはどうすればよいですか?私は10の評判ポイントが必要です –

答えて

1

チェックボタンは、その性質上、オンまたはオフのいずれかに設計されています。あなたの場合、空の文字列である3番目の値に設定します。既定では、空の文字列はtristatevalueオプションの値です。意味は、値が空文字列の場合、チェックボタンは第3の状態で表示されます。他のいくつかのツールキットでは、は不確定という値です。

これは、いくつかの子が選択されている親をサポートするためです。それらがすべて選択されている場合は親をチェックし、選択されていない場合は親の選択を解除するかもしれませんが、一部の子供が選択され、したがって、tkinterはこのユースケースのトライステート値をサポートします。カノニカルtcl/tk documentationから

チェックボタンが選択されるインジケータは、通常、選択された外観で描画され、及びチェックボタンに関連付けられたTcl変数が特定の値(通常は1)に設定されている場合。インジケータの内側にはチェックマークが付いています。チェックボタンが選択されていない場合、インジケータは非選択の外観で描画され、関連する変数は別の値(通常は0)に設定されます。インジケータは、内部にチェックマークを付けずに描かれています。 変数(指定されている場合)がトライステート値に一致する特別な場合、インジケータはトライステートの外観で描画され、トライステートモードでは混合または複数の値を示します。

次のいずれかの方法でこの問題を解決することができます

  1. は、明示的に値を設定する有効な値(onvalueまたはoffvalueのいずれか)の1、または
  2. にチェックボタンの値を設定しますonvalueoffvalue、または空の文字列以外に、
  3. tristatevalueonvalue,以外に明示的に設定してくださいまたは空の文字列を入力して値を空の文字列に設定する
関連する問題