Qt

textChanged() と textEdited() の違い

Qt

textChanged() …テキストが変更されると emit される。 textEdited() …ユーザー操作によりテキストが変更されると emit される。

Parentheses expected, signal

Qt

問題 ビルド時に次のエラーが発生する。 コード connect(this, SIGNAL(trigger), this, SLOT(onTrigger)); エラー Object::connect: Parentheses expected, signal <クラス名>::<シグナル名> in ..\<ファイル名>:<行番号> 訳 Object::connect: 丸括弧が予期…

リモート Linux にデプロイする方法

Qt

.pro ファイルに下記の行を追加する。 target.path += <リモート Linux 上のパス> INSTALLS += target 例 target.path += /opt/myapp INSTALLS += target

QMAKE_POST_LINK 実行時の環境変数

Qt

Windows 7 の場合 ALLUSERSPROFILE APPDATA COMMONPROGRAMFILES(X86) COMMONPROGRAMFILES COMMONPROGRAMW6432 COMMPATH COMPUTERNAME COMSPEC FP_NO_HOST_CHECK HOMEDRIVE HOMEPATH LC_ALL LOCALAPPDATA LOGONSERVER MAKEFLAGS MAKELEVEL MFLAGS NUMBER_OF_P…

std:endl を使うと、アプリケーションが動作を停止する

問題 std:endl を使ったプログラムを実行すると、APPCRASH が発生する。 デバッガー上で実行すると、SIGILL (Illegal instruction) が発生している。 環境 MinGW 4.8.2 Qt 5.3.2 原因 実行時リンクに MinGW の libstdc++-6.dll ではなく、マイクロソフトの l…

プロジェクト (.pro) で OS ごとに分岐する

Qt

windows { folder01.target = debug/data } else { folder01.target = data } 参考にしたページ Compiling one program on Linux and Windows (MingGW) with only one .pro file? | Qt Forum

Object::connect: No such slot QTcpSocket::onReadyRead() in ../project/source.cpp:6

Qt

問題 アプリケーション実行中に次のようなメッセージが表示される。 Object::connect: No such slot QTcpSocket::onReadyRead() in ../project/source.cpp:6 原因 クラス定義に "Q_OBJECT" を書いていなかったため。 解決策 クラス定義に "Q_OBJECT" を書く…

プロジェクトファイル (.pro) で Qt バージョンに応じて分岐する

Qt

equals(QT_MAJOR_VERSION, 4){ QT += declarative } equals(QT_MAJOR_VERSION, 5){ QT += widgets } 参考にしたページ qt4 - How to check the selected version of Qt in a .pro file? - Stack Overflow

DQT_DECLARATIVE_DEBUG: Command not found

Qt

Qt Creator でのビルド時に次のエラーが出るようになった。 DQT_DECLARATIVE_DEBUG: Command not found Qt Creator を再起動したら直った。

Qt で 16 進数の文字列を int 型に変換する

Qt

方法 QString::toInt() を使う。 第 2 引数を省略すると 10 進数に変換されるので注意する。 サンプル コード qDebug() << QString("0x7F").toInt(0, 16); 出力 127