今回作ろうとしているのはボタンを押したら、同様の機能のボタンが追加されるプログラムです。
現在、私はQt5.3とvisualstudio2013を用いて簡単なプログラムを作ろうとしています
まだ、本当に学びたてで、理解を深めるためにサンプルプログラム程度のものを作ろうとしています。
図1のようにボタンを押したら、同様のレイアウト、同様の機能のボタンがメインウィンドウに
追加されたプログラムを作ろうとしています
http://www.fastpic.jp/images.php?file=0627381977.png
図1の左側のようにレイアウトおよびシグナルスロットの設定を行いますと、
Uiファイルから自動的に図2のようにvisualstudioに色々ヘッダファイルや、
cppファイルが作られるのですが、そこから、メインウィンドウに変化を与える
(今回はボタンの追加を行う)ためにどうすればよいかが
わかりませんでした。
とりあえず今わかっているのはボタンが押されたときに別枠でメッセージダイアログを出すプログラムは
書けたので、そのプログラムを改良して、ボタンを追加する手法があれば教えていただきたいです
以上のことよろしくお願いいたします
またメッセージダイアログを出すプログラムに関しても、「本来そこに書くべきじゃないぞ」
みたいな細かい指摘もあれば教えていただけると幸いです。
//main.cpp(自分で書き換えた場所はない)
#include "buttonproliferation.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
buttonProliferation w;
w.show();
return a.exec();
}
//buttonProliferation.h
#ifndef BUTTONPROLIFERATION_H
#define BUTTONPROLIFERATION_H
#include <QtWidgets/QMainWindow>
#include "ui_buttonproliferation.h"
class buttonProliferation : public QMainWindow
{
Q_OBJECT
public:
buttonProliferation(QWidget *parent = 0);
~buttonProliferation();
private:
Ui::buttonProliferationClass ui;
//自分で書いた部分(スロットの定義)
private slots:
void pushButton();
//ここまで
};
#endif // BUTTONPROLIFERATION_H
//buttonProliferation.cpp
#include "buttonproliferation.h"
#include <QMessageBox>
buttonProliferation::buttonProliferation(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
buttonProliferation::~buttonProliferation()
{
}
//自分で書いた部分
void buttonProliferation::pushButton()
{
//別枠でメッセージダイアログは出せるけど・・・
QMessageBox msgBox;
msgBox.setWindowTitle("May I have your attention, please?");
msgBox.setText(QString::fromLocal8Bit("プログラム完動おめでとう!!!"));
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();
//ボタンを押したとき同じ機能を持つボタンをメインウィンドウに追加したい……けど、何をすればいい?
//ご教授よろしくお願いいたします
}