フリーソフトを公開すると言っていましたが、どうもブログにはアップロードできそうにないので別ホームページを作成しそこにリンクをはって公開という形になりそうです。ですのでもう少しかかります。
フリーソフト自体はだいたい完成しました。暗記カードのようなソフトです。暗記カードを実際に買うとかさばるし、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で左にウィジットを追加していっています。(リファレンスへ)
実行すると以下のようになります。
