やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Qt Widget で Button 押下時シグナル発火させてみた

 いわゆるイベント。

成果物

github.com

対象環境

  • Raspbierry pi 3 Model B+
  • Raspbian stretch 2018-06-27
  • Qt 5.7.1

参考

要点

  • シグナル&スロット
    • イベントと実行するメソッド
  • 文字リテラル
    • QString::fromLocal8Bit("test")のようにする必要があるらしい

手順

  1. Qt Creatorを起動する
  2. Qt Widgetプリプロジェクトを作成する
  3. デザイナでPushButtonTextEditを追加する
  4. PushButtonを右クリックしてスロットへ移動をクリックする
    f:id:ytyaru:20181125164644p:plain
  5. clicked()を選択してOKをクリックする
    f:id:ytyaru:20181125164654p:plain
  6. 自動でエディタに遷移しclicked関数内にキャレットがある状態になる
    f:id:ytyaru:20181125164834p:plain
  7. ui->として候補を出しtextEditを選択する
    f:id:ytyaru:20181125164933p:plain
  8. setTとして候補を出しsetTextを選択する
    f:id:ytyaru:20181125165035p:plain
    f:id:ytyaru:20181125165122p:plain
  9. 引数にQString::fromLocal8Bit("test")を渡す("test"は任意の文字列) f:id:ytyaru:20181125165141p:plain
  10. Ctrl+Rで実行する
    f:id:ytyaru:20181125165231p:plain
  11. ボタンをクリックするとTextEditにtestがセットされた
    f:id:ytyaru:20181125165259p:plain

学んだこと

  • PushButtonclickedシグナルを作成する手順
  • QString::fromLocal8Bit("test")でも文字列リテラルを作る

所感

 やっと最低限のGUIプログラミングができた。