19

チェックボックスを読み取り専用にする良い方法ですが、グレーアウトしない(ほとんど見えません)。

  1. どちらが機能するかを使用setEnabled(bool)しましたが、チェックボックスがグレー表示されて読みにくくなります
  2. トグル信号に反応して状態をリセットできます。しかし、ボックスが読み取り専用かどうかを判断し、チェック状態をリセットするには、一種のフラグが必要です。つまり、独自のCheckBoxクラスを作成する必要があります。
  3. setCheckableどちらも機能しません。チェック済みの状態をまったく設定できません。

        cb = this->ui->cb_RealWorld->isCheckable();
        this->ui->cb_RealWorld->setCheckable(true);
        this->ui->cb_RealWorld->setChecked(someValue);
        this->ui->cb_RealWorld->setCheckable(cb);
    

したがって、私が持っている最善の方法は、有効/無効を使用して、グレー表示されたスタイルを受け入れることです。

- - - - 編集 - - - -

スタイルシートの例に従って、無効なチェックボックスのスタイルを有効なチェックボックスのように設定できることを望んでいました。これまでのところ、そうすることに失敗しています。より具体的には、のようにアイコンを変更しても機能しません。おそらく、Windows を使用していて、例のようにパスの下でアイコンを使用できないためです。


PS:関連していますが、ここには答えがありません

トリッキーな方法で QCheckbox
を無効にする Qt - チェック状態を保持しながら QCheckBox を無効にする方法は?

4

4 に答える 4