2011-08-04 10 views
0

なしのQtでQDockWidgetをカスタマイズします。私がQt Documentation -> Style Sheetで見つけた唯一の解決策は、QtDesignerViewのObjectにStylesheetを右MouseClick - > Set Stylesheetとちょっとハードコード(CSSと似ている)に設定することです。 QtDesignerを使いませんが、QtCreatorのEditorViewでグラフィカルなものをコーディングしています。は(私の悪い英語のためSRYしかし、私は自分のベストを尽くすよ)QtDesigner

私の質問になりました - それは

widget.setObjectName("widget") 

よりも立派通常のエディタでウィジェットをカスタマイズして、このようなコンストラクタを介してスタイルシートを設定することが可能である:

this->setStyleSheet("QDockWidget#widget{ background-color: red;........}");

これがために正常に動作します簡単なプッシュボタン文字列としてダースラインをまとめるのが最善の解決策ではありませんでしたか? 私は、ネット上のことについて多くを見つけることができないので、私はいくつかのヒントについて喜んでいるだろう、私のCPP/Qtのknownledgeはまだベストではないですけれども:(

おかげ

+0

あなたの最高の質問に戻ってくると、人々がしようとしてに返信することです助けます。これはスパムに向かっています。 –

答えて

1

これが最善の解決策が、私ではないかもしれませんおそらく、これらの線に沿って何かやるD」:

  • サブクラスQDockWidget
  • をロードするためにQFileを使用するメソッドを追加します

    • が.cssのファイルに希望のスタイルシートを作成する/パース.cssファイルとその後、私は空想取得し、あなたがあなたのプログラムからsetStyleSheetを呼び出しQStyleおよびその他の関連するクラス
  • 0

    でいくつかのことを行う可能性がありますスタイルなど

  • を設定します。

    例:

    pb->setStyleSheet(QApplication::translate("failoverCrit", "color: rgb(0, 0, 0);background-color: qlineargradient(spread:pad, x1:0.922018, y1:0.574, x2:0.385321, y2:0.159, stop:0 rgba(106, 106, 106, 255), stop:1 rgba(255, 255, 255, 255));", 0, QApplication::UnicodeUTF8)); 
    

    例2:

    ui.pbAssign->setStyleSheet(QString::fromUtf8("QPushButton {\n" 
        " border: 1px solid green;" 
        " border-radius: 3px;" 
        " padding: 4px;" 
        " background-color: qlineargradient(spread:pad, x1:1, y1:1, x2:1, y2:0, stop:0 rgb(255,255,153), stop:0.668182 rgba(255, 255, 255, 255));" 
        " }\n" 
        "")); 
    

    がスタイリングを削除するには:

    ui.pbAssign->setStyleSheet(""); 
    
  • +0

    実際に私は答えを与える前にあなたの質問を読んでいないが、なぜあなたはデザイナーを使用することができないのだろうかと思う。おそらく、qtDesignerでスタイルシートを生成し、フォームソースを表示し、最後に生成されたスタイルシートをコピーして貼り付けることができます。 –

    関連する問題