フリーソフトを公開すると言っていましたが、どうもブログにはアップロードできそうにないので別ホームページを作成しそこにリンクをはって公開という形になりそうです。ですのでもう少しかかります。
フリーソフト自体はだいたい完成しました。暗記カードのようなソフトです。暗記カードを実際に買うとかさばるし、Vectorにサクッと問題と回答が作れてシンプルに出題できるフリーソフトがなかったので作りました。
言語はC#で1000~2000行くらいの小規模のものです。コードは汚いままですが、処理停止エラーが出ないことを確認したら試作版として近いうち公開します。
それでは表題の件やっていきます。
前回ステータスバーを使用するで基本的な使い方を扱いました。今回はステータスバーに他のウィジットを追加する方法をやっていきます。
サンプルは独自のものを使用します。
また、いつものようにQtCreaterの使用を前提とします。(QtCreaterなどの使い方は ”Qtをはじめよう" を見てください。)
サンプルはまっさらなメインウィンドウの状態を想定しています。ステータスバーの配置方法は省略します。わからないかたは「ステータスバーを使用する」の記事を見てください。
ではコードを
(mainwindow.h)
#include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; };
(mainwindow.cpp)
#include "mainwindow.h" #include "ui_mainwindow.h" #include "QLabel" #include "QTextEdit" #include "QPushButton" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QLabel *label = new QLabel(this); QLabel *label2 = new QLabel(this); QLabel *label3 = new QLabel(this); QTextEdit *textedit = new QTextEdit(this); QPushButton *button = new QPushButton(this); label->setText("status1"); label2->setText("status2"); label3->setText("status3"); ui->statusBar->addPermanentWidget(label, 100);//右に追加 ui->statusBar->addPermanentWidget(label2, 100); ui->statusBar->addPermanentWidget(textedit, 0); ui->statusBar->addPermanentWidget(button, 100); ui->statusBar->addWidget(label3, 100);//左に追加 } MainWindow::~MainWindow() { delete ui; }
はい簡単ですね。addPermanentWidgetで右側にウィジットを追加。addWidgetで左にウィジットを追加していっています。(リファレンスへ)
実行すると以下のようになります。