1

多くの人がこの質問をしたことを知っています。私もすでにここでそれを検索しました。最も簡単な解決策の 1 つは、スタイルシートを使用することです。

QRadioButton {
background-color: rgb(252,254,252);
color: black;
}

QRadioButton::indicator {
width: 11px;
height: 11px;
border-radius: 5px;
}

QRadioButton::indicator::unchecked{ 
border: 1px solid; 
border-color: rgb(132,132,132);
border-radius: 5px;
background-color: white; 
width: 11px; 
height: 11px; 
}

QRadioButton::indicator::checked{ 
border: 3px solid; 
border-color: white;
border-radius: 6px;
background-color: rgb(0,116,188); 
width: 7px; 
height: 7px; 
}

しかし、私がこのようにすると、結果は次のようになりますチェックボタン (ボタンには白い丸い枠と内側の青い丸いだけがあります)。ただし、標準のチェック付きラジオボタンのように、それらの外側に黒い境界線を作成できます 標準か? (黒枠→白枠→青丸)。Qtでそれを行うことはできますか?

4

2 に答える 2

8

Qt でチェックボックスやラジオ ボタンをそのようにスタイルしようとするのは忘れてください。Qt でこれを行う最善の方法は、スタイル シートの例のように、ボタンの状態ごとに個別の画像ファイルを作成することです。

QRadioButton::indicator
{
    width: 13px;
    height: 13px;
}

QRadioButton::indicator::unchecked
{
   image: url(:/images/radiobutton_unchecked.png);
}

QRadioButton::indicator:unchecked:hover
{
    image: url(:/images/radiobutton_unchecked_hover.png);
}

QRadioButton::indicator:unchecked:pressed
{
    image: url(:/images/radiobutton_unchecked_pressed.png);
}

QRadioButton::indicator::checked 
{
    image: url(:/images/radiobutton_checked.png);
}

QRadioButton::indicator:checked:hover 
{
    image: url(:/images/radiobutton_checked_hover.png);
}

QRadioButton::indicator:checked:pressed 
{
    image: url(:/images/radiobutton_checked_pressed.png);
}
于 2016-11-18T19:23:57.020 に答える