基本的にそれが表す色の長方形になるシンプルなボタン(QPushButtonまたはQToolButtonのいずれかが機能する)を設計しようとしています。クリックすると QColorDialog が開き、その中で色を選択するとボタンが再描画されます。
したがって、基本的には、次のいずれかのようになります。
私はいくつかの試みをしましたが、どれも私が望む機能をもたらしませんでした.
スロット:
void MainWindow::OnButtonColorClick()
{
QColor initialColor = ui->buttonColor->palette().color(QPalette::Background);
QColor colorSelected = QColorDialog::getColor(initialColor, this);
if(colorSelected.isValid())
{
ui->buttonColor->setPalette(QPalette(colorSelected));
ui->buttonColor->setAutoFillBackground(true);
}
}
試み #1:
コンストラクターでパレットを設定します。
ui->buttonCoulor->setPalette(QPalette(Qt::black));
結果: クリック前の通常のボタン、選択後の薄い色の輪郭。
試み #2:
スタイルシートを追加:
background-color: rgb(0, 0, 0);
結果: クリック前の黒い四角形、選択後の黒い四角形。
排水溝を回っている感じです。基本的に、どうすれば達成できますか:
?