📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…
 
(同じ利用者による、間の6版が非表示)
13行目: 13行目:
<br><br>
<br><br>


== デバッグターミナル ==
== デバッグターミナルの設定 ==
デバッグターミナルを別のソフトウェアに変更する場合は、Qt Creatorのメニューバーから、<br>
デバッグターミナルを別のソフトウェアに変更する場合は、Qt Creatorのメニューバーから、<br>
[ツール] - [オプション] - [環境] - [システム]タブ - [ターミナル]項目に、デバッグターミナルとして使用するソフトウェアのフルパス名を記述する。<br>
[ツール] - [オプション] - [環境] - [システム]タブ - [ターミナル]項目に、デバッグターミナルとして使用するソフトウェアのフルパス名を記述する。<br>
このパラメーターは、外部コマンドまたはソフトウェアを実行するように指示する。<br>
このパラメーターは、外部コマンドまたはソフトウェアを実行するように指示する。<br>
# Gnome Terminalをデバッグターミナルに設定する場合 (推奨)
/usr/bin/gnome-terminal
-x
# Alacrittyをデバッグターミナルに設定する場合 (推奨)
/<Alacrittyのインストールディレクトリ>/alacritty
-e
 
  # X terminalをデバッグターミナルに設定する場合
  # X terminalをデバッグターミナルに設定する場合
  /usr/bin/xterm
  /usr/bin/xterm
22行目: 32行目:
  -e
  -e
   
   
  # konsoleをデバッグターミナルに設定する場合
# X terminalをroot権限としてデバッグターミナルに設定する場合
/usr/bin/xterm
--separate
-e sudo
  # konsoleをデバッグターミナルに設定する場合 (KonsoleおよびYakuakeは動作しない可能性あり)
  /usr/bin/konsole
  /usr/bin/konsole
  --separate
  --separate
67行目: 82行目:
*: フォーク後に全ての子プロセスをデバッグし続けるには、[すべての子プロセスをデバッグする]チェックボックスを選択する。
*: フォーク後に全ての子プロセスをデバッグし続けるには、[すべての子プロセスをデバッグする]チェックボックスを選択する。
<br><br>
<br><br>
== qDebug関数 ==
<code>qDebug</code>関数は、デバッグログをQt Creatorの[アプリケーション出力]ペインに出力するために使用する。<br>
また、<code>qDebug</code>関数以外にも、以下のような同様の関数が存在する。<br>
* qInfo()
* qWarning()
* qCritical()
* qFatal()
<br>
<code>qDebug</code>関数は、<code>printf</code>関数と同様の形式で使用できる。<br>
<syntaxhighlight lang="c++">
#include <QDebug>
qDebug("test");
qDebug("int:%d", 10);
qDebug("double:%lf", 123.45);
qDebug("string:%s", u8"abcあいう");
</syntaxhighlight>
<br>
<code>qDebug</code>関数をC++のストリーム形式で使用する場合、<code>QDebug</code>をインクルードする必要がある。<br>
<syntaxhighlight lang="c++">
#include <QDebug>
qDebug() << "test";
qDebug() << "int:" << 10;
qDebug() << "double:" << 123.45;
qDebug() << "string:" << u8"abcあいう";
</syntaxhighlight>
<br>
また、<code><<</code>を使用して出力した場合に付加される空白を無くすには、<code>nospace</code>を指定する。<br>
<syntaxhighlight lang="c++">
#include <QDebug>
qDebug().nospace() << "test";
qDebug().nospace() << "int:" << 10;
qDebug().nospace() << "double:" << 123.45;
qDebug().nospace() << "string:" << u8"abcあいう";
</syntaxhighlight>
<br>
<code>QDateTime</code>等のQtの値型の多くのもの、および、<code>QList</code>等のQtのコンテナ型もそのまま出力できる。<br>
<code>QObject</code>クラスの派生型は、<code>QObject</code>のポインタとして出力することにより、クラス名やオブジェクト名と共に出力することができる。<br>
<syntaxhighlight lang="c++">
#include <QDebug>
qDebug() << QString("id=%1, name=%2").arg(123).arg("name_123");  // 出力 : id=123, name=name_123
qDebug() << QDateTime::currentDateTime();                        // 出力 : QDateTime(2020-12-06 21:53:19.311 東京 (標準時) Qt::LocalTime)
QList<double>{1.1, 1.2, 1.3};                                    // 出力 : (1.1, 1.2, 1.3)
QFile file("/etc/fstab");
file.setObjectName("fstab_file");
qDebug() << &file;                                              // 出力 : QFile(0x4a7b6ffb50, name = "fstab_file")
</syntaxhighlight>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]