技術文章Qt

 


 
Qt Tips
Nobuhide Tsuda
Mar-2014

概要

このページでは Qt のちょっとしたテクニックをすこしずつ紹介していきます。

Tips

ディレクトリを選択

ディレクトリを選択したい場合は QString QFileDialog::getExistingDirectory(parent, caption, ...) を使うといいぞ。 詳しい使用方法はヘルプ参照。
使用例:QString dir = QFileDialog::getExistingDirectory(this, "HTML Docs Root Dir");

QPlainTextEdit の末尾にテキスト追加(2014/04/29)

QTextCursor cur = plainTextEdit::textCursor(); でテキストカーソルを取り出し、
cur.movePosition(QTextCursor::End); で末尾に移動し、
cur.insertText(text); で、末尾にテキストを追加できるぞ。

QPlainTextEdit の内容をクリア(2014/04/29)

QPlainTextEdit::setPlainText(const QString &) を引数 "" で呼ぶことで、QPlainTextEdit の内容をクリアできるぞ。

MainWindowをリサイズ禁止に(2014/04/26)

デザイナまたはコードで、MainWindow最大・最小サイズを指定します。

右下のサイズグリップは、デザイナで statusBar を選び setSizeGripEnabled のチェックを外すか、
QMainWindow 派生クラスコンストラクタで、statusBar()->setSizeGripEnabled(false); を呼びます。

ダイアログをリサイズ禁止に(2014/04/26)

QDialog 派生クラスをリサイズ禁止にするには、QDialog::setSizeGripEnabled(bool) を flase 引数を指定してコールします。

16進数文字列を値に変換(2014/03/17)

16進数文字列を値に変換するには QString::toInt(bool * = 0, int = 10) を利用します。
第1引数は変換が正しく行われたかどうかを返す時に利用します。必要無い場合は 0 を指定します。
第2引数で何進数かを指定します。16進数変換の場合は当然 16 を指定します。

使用例:

    QString str = "1a";
    int val = str.toInt(0, 16);

使用例:

    QString str = "1ax";    // 16進数として不正な文字が含まれているとエラーになる
    bool ok;
    int val = str.toInt(&ok, 16);
    if (!ok) {
        // 変換できなかった場合の処理
    }