1

Qtのバージョンは4.7.1で、QLineEditの背景色をウィンドウの色と同じに設定したいので、次のように使用します。

QString bgColorName = palette().color(QPalette::Normal, QPalette::Window).name();
QString strStyleSheet = QString("QLineEdit {background-color: ").append(bgColorName).append("}");
ui->lineEdit->setStyleSheet(strStyleSheet);

背景色の名前を取得してQLineEditのスタイルシートを設定しようとしましたが、アプリケーションを実行した後、QLineEditの色が少し異なることがわかりました。つまり、注意深く見ると違いがわかります。 Win7とMacの両方。誰かがダイアログの正しい背景色を取得する方法を見つけるのを手伝ってくれませんか、よろしくお願いします。

4

1 に答える 1

1

あなたが投稿したコードは実際に私のために機能します(Windows 7を使用)。Photoshopなどの画像エディタで、行編集の背景がダイアログと同じではないことを確認しましたか?時々、心はトリックを演じて、実際にはそうではないのに、背景色が(境界線のために)異なっていると考えることがあります。

ちなみに、次のようなスタイルシートを使用して、QLineEditの背景を透明にすることができます。

QLineEdit le("Line Edit with transparent BG");
le.setStyleSheet("background:transparent;");
于 2012-05-14T15:39:39.630 に答える