14

QT アプリケーションのクールなユーザー インターフェイスを作成するために、CSS を少し試しています。

私はこの問題を抱えています:私は QPushButton を持っています。フォーカスがあると、削除したい四角形があります。ここにいくつかのスクリーンショットがあります:

通常ボタン:

ここに画像の説明を入力

フォーカスされたボタン:

ここに画像の説明を入力

何かを追加しようとしました (背景色、テキスト装飾など)

QPushButton:focus

しかし、それは強調し続けます..

いくつかのヒント?

QPushButton の css コードは次のとおりです。

QPushButton
{
    color: #b1b1b1;
    background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646);
    border-width: 1px;
    border-color: #1e1e1e;
    border-style: solid;
    border-radius: 6;
    padding: 3px;
    font-size: 12px;
    padding-left: 5px;
    padding-right: 5px;
}

QPushButton:pressed
{
    background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525);
}
   
QPushButton:hover
{
    border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);
}

QPushButton:focus {
    /*background-color: red;*/
}

ps。私は Qt 4.8 を使用して Ubuntu 12.04 を使用しており、この素晴らしい CSS を使用しています: http://www.yasinuludag.com/darkorange.stylesheet

4

5 に答える 5

9

ハイライトされた四角形がQStyle::PE_FrameFocusRectスタイリングの可能性があります。それを取り除く唯一の方法は、カスタム スタイルを実装することです。幸いなことに、Qt は、一般的なケースでは別のスタイルを使用するプロキシのみを実装する方法を提供します。実装するフォーカス四角形の場合:

class Style_tweaks : public QProxyStyle
{
    public:

        void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                           QPainter *painter, const QWidget *widget) const
        {
            /* do not draw focus rectangles - this permits modern styling */
            if (element == QStyle::PE_FrameFocusRect)
                return;

            QProxyStyle::drawPrimitive(element, option, painter, widget);
        }
};

qApp->setStyle(new Style_tweaks);
于 2013-06-25T09:47:24.567 に答える
1

Huytard の回答のおかげで、これは Qt CSS の問題ではないことがわかりましたが、フォーカスされたボタンにオレンジ色の四角形を追加するのは、Ubuntu の外観設定の通常の動作です。

テーマ Ambiance は Ubuntu 12.04 のデフォルト テーマであり、フォーカスされた要素をオレンジ色の内側の長方形で強調するグラフィカルな動作をします。

投稿した効果のテーマを変更すると、QT CSSの問題が解消されたと思いました。だから..それはQT CSSの問題ではなく、Ubuntuの問題です。誰かがそれに興味を持っている場合.. http://askubuntu.comには、メインテーマの色の変更に関する情報がたくさんあります。

于 2013-06-25T12:13:49.053 に答える