質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

Q&A

解決済

1回答

2562閲覧

Qtであらかじめ定義されているシグナルやスロットについて知りたい

cellcrafty

総合スコア2

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Qt Creator

Qt Creatorは、Qtアプリケーションを開発するための開発統合環境(IDE)です。

0グッド

0クリップ

投稿2021/10/16 21:14

編集2021/10/16 22:22

前提・実現したいこと

Qtであらかじめ定義されているシグナルやスロットの一覧や命名規則について知りたいです。
または、どのウィジェットが何のシグナルを発し、どのシグナルが何のスロットを呼び出すのかが知りたいです。
例えば、Qt Designer上でfindButtonというオブジェクト名のpushButtonを配置したとき、スロットon_findButton_clicked()が定義されていれば、作ったアプリ上でfindButtonをクリックしたときにon_findButton_clicked()が実行されると思いますが、こういったスロットやシグナルについてどこで知れば良いのか知りたいです。

試したこと

https://doc.qt.io でslotやsignalやButtonをキーワードに調べてヒットした複数のドキュメントを読みましたが、有用な情報は見つかりませんでした。
google で"Qt slot name" "Qt signal name" ""のキーワードで調べてFAQサイトのQtに関する質問を複数読みましたが、有用な情報は見つかりませんでした。
uiオブジェクトを初期化するsetupUiメソッドについてhttps://doc.qt.ioで調べました。それがシグナルやスロットの初期化も行っていることは分かりましたが、具体的にどのウィジェットがどのような名前のシグナルを発し、どのシグナルがどういった名前のスロットを呼び出すのかという情報は見つかりませんでした。
以下のチュートリアル"Creating a Qt Widget Based Application"に従ってサンプルプログラムを作りました。
https://doc.qt.io/qtcreator/creator-writing-program.html
前述のチュートリアルで作成したプロジェクト(TextFinder)を編集するうちに、on_<オブジェクト名>_clicked()スロットが<オブジェクト名>のpushButtonがクリックされたときに呼び出されることが分かりましたが、シグナルの名前や他のあらかじめ定義されているスロットの種類や名前についての情報は見つかりませんでした。

補足情報(FW/ツールのバージョンなど)

Qt Creator 5.0.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cellcrafty

2021/10/17 03:45 編集

なるほど、setupUi()は<SignalName>という定義済みシグナルについてon_<ObjectName>_<SignalName>スロットを呼び出すんですね。clicked()で検索したらそれらのシグナルが各ウィジェットの抽象クラス(QAbstractButton)のドキュメントのSignals節で説明されていることも分かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問