前回までは、「ハローワールド」を表示させるプログラムでしたが、今回は、QPlainTextEditを使って、テキストエディターを作ってみようと思います。 ウィンドウはメインウィンドウを使用。クラスQMainWindow、QMenu、QManuBar、QPlainTextEditを実装します。 最後にQHBoxLayoutで整えてやります。 これで実行すると形は様になります。 次にメニューバーに作りたいメニューを追加し、追加したメニューに実行したい項目を追加していきます。例えば、新規・保存・名前を付けて保存といった具合です。 追加した項目をconnectで継いでいけば、それらしいプログラムが出来上がります。 一番苦労したのは、入力内容の保存と開くです。 保存するには、QFileDialog::getFileNameを使う方法がありますが、初心者なので、子の方法を使わずに基本に忠実に別ウィンドウを開くようにしました。 最初にSaveAsDialog=new QFileDialog()に始まります。 ウィンドウタイトルはsetWindowTitle、保存するディレクトリーの指定するのにはsetDirectoryを使用、この時ディレクトリーを指定する際、QDirを使用し、QDir::homepath()を呼び出すようにします。 フィルター名の選択項目はsetNameFilter(QString)【任意のフィルター名を入れる】を使用。既にファイルが存在していたら確認ウィンドウを出すようにsetNameFilterDetailsVisibleをtrueに設定。 これだけではAccept時どのような操作するか指定していないので、setAcceptMode(SaveAsDialog->AcceptSave)とするとAccept時「保存」ボタンが表示される。 SaveAsDialog->exec()が実行されるとどのように処理するかをif文を使って入力していく。 QStringList StrList=SaveAsDialog->selectedFilters()で選択内容を呼び出す。 配列なのでこのままでは使えないため、StrList.at(0)で抽出する。 例えば、QFile SaveFile(StrList.at(0))と入力...
FIREを志して資産運用する会社員の奮闘記 ほか、自転車、ゲームなど不定期に掲載