SSブログ

Qt Designerでのslotの追加 [Qt]

前の記事で疑問を提示しましたが、他に解決法もよくわからないので、釈然としないながらも手動で関数を追加することにします。

「mainwindow.h」に定義されているMainWindowClassのprivate区画に「void addButtonClicked();」を追加し、「mainwindow.cpp」に、関数の実装を記載します。

10112300.png
宣言を追加


10112301.png
とりあえず、デバグ出力


これで、実行してみます。

エラーが出ましたね。うまくconnectされていない様です。

10112302.png
うまくいかんねぇ・・


「Object::connect: No such slot MainWindow::addButtonClicked() in ui_window.h:135」と言うエラーが出ています。以前の記事を読み返したら、slotの追加自体を完全に手動に切り替えてますね。今回は、スロットの作成と接続はQt Designerでやっています。関係だけQt Designerで指定して、スロットの実体は手動で書くのかと思いましたが、根本的にそれは違うのでしょうか・・?

*

色々見てみましたがよくわからなかったので、当てずっぽうで、Edit widgetsモードでボタンを右クリックして、「Go to slot」を選択したところ、なにやら自動でスロットが作成されました・・。

10112303.png
名前も自動で付けられました(mainwindow.cpp)


ん~、こちらが正しい方法なのでしょうか?と言うことは、前回つなげた線は意味が無くなりますねぇ・・。と言うか、先にこちらを作ってから線をつなげるべきなんでしょうか・・?

slotの名前が気に入らないんですが、とりあえず、これで実行してみたところ・・、ちゃんと反応しました。ちなみに、「mainwindow.h」にもslotが追加されていました。

10112304.png
プロトタイプも自動作成(mainwindow.h)


なるほど、slotはこれで追加をすればいいんですね。でも、接続先を変えたい時はどうすればいいんでしょうか・・? ま、それはそれとして、名前の変更もしたいので、一旦これまで追加して行ったものを削除することにします。

*

と思いましたが、ボタンを右クリックして「Change signals/slots」を選択しようと思ったら、そのメニューが無くなっています・・。

10112305.png
なんで・・?


追加したslotの削除方法は無いんでしょうか・・・?


つづく。


【参考】
Qt Designer's Signals and Slots Editing Mode




   


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

ブログを作る(無料) powered by SSブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。