Qt版連視の極速連視:インタフェース設計(一)QSS交換テーマ


【ソースおよびインストールパッケージダウンロードアドレス】http://code.google.com/p/speedlink/downloads/list
極速連視のインタフェースの特徴:
1.交換テーマのサポート
2.画面を全て切り替えることができ、基本的にダイアログなどを使わずにメッセージを提示する
3.使用するコントロール(上に移動して音を出すボタン、連続して独立した論理機能を持つLabelなど)はuiファイルに直接統合されています.
 
Qtでは、QSSという興味深い空間スタイルを変える方法が提供されています.かなりの場合、コントロールスタイルをあまり複雑な方法で交換する必要はありません.CSSのような簡単な言語を使用すればコントロールスタイルを規定することができます.これについてはQt以前に持参したexampleを参照することができます.qt/examples/widgets/,styleとstylesheetの2つを参照することができます.例えば、Qtを使ってパスワードを球形に表示するにはどうすればいいですか?では、簡単に一言で解決できます.
QLineEdit[echoMode="2"] {    lineedit-password-character: 9679;}
では、この言葉はどこに置けばいいのでしょうか.パスワード入力ボックスにsetStyleSheet(QString)を直接呼び出したり、パラメータを上の文(文字列形式)に変えたり、designerに直接走ってstylesheetを変更したり、親コントロールを変更したりすることができます.例えば、フォームにこのstylesheetをロードさせた後、フォーム全体のQLineEditの表示が黒球になります~~
     極めて速く続けて気に入って、テーマを交換するのはstylesheetの技巧を使って、setStyleSheetのパラメータはファイルの中から動態的に参加することができるため、私も各種のテーマをそれぞれqssファイル(実はどんな接尾辞でもいい、文法はqssと呼ばれています)に書くことができて、例えば、私の連続して時間バーを見るのは実際には普通の進捗バー(QtrogressBar)です.では、なぜインタフェースでは形状以外は進捗バーに似ていないのでしょうか.簡単:
QProgressBar {

    background-color:palegoldenrod;

	text-align: center;

    border: 2px solid grey;

    border-radius: 5px;

}



QProgressBar::chunk {

	background-color: goldenrod;

	width: 20px;

}
  ,QProgressBar        (    ),               ,        。
QSS       
QSS            ,               。  :
QToolButton{…}  /*    QToolButton    */
QToolButton::hover{ …}  /*    QToolButton          */
QToolButton#myButton{ …}  /*        myButton QToolButton    */
*{}   /*                */
        ,                  ,     :
MyButton,QComboBox{

     border-style: outset;

     border-width: 2px;

     border-radius: 10px;

     border-color: goldenrod;

     background-color:goldenrod;

     font: 16px;

     color: beige;

     min-width: 1em;

     padding: 6px;

}

MyButton{

	font:16px "  ";

}

MyButton:hover{

     border-left-width: 4px;

     border-top-width: 4px;

     border-right-width: 6px;

     border-bottom-width: 6px;

     border-radius: 10px;

     color: beige;

     font: bold 17px;

     min-width: 1em;

     padding: 6px;

}

MyButton:pressed{

     border-right-width: 4px;

     border-bottom-width: 4px;

     border-radius: 10px;

     color: beige;

     font: bold 14px;

     min-width: 1em;

     padding: 6px;

}


    ,    Qt Assistant  stylesheet   ,       ,               ,            。