tabWidgetを使う
前回はexeファイルを使えるようにし、オームの法則電卓は完成しました(前回の記事)。今回からはその電卓の機能を拡張していきます。まずはギアの設計で必要なモジュール計算機能をTabWidgetを使って実装します。下記資料の手順でTabWidgetと必要なウィジェットを配置します。
※参照ページ
ユーザーフォーム
レイアウトの整列
イベント


tabの名称を変更し、モジュール計算で必要なウィジェットはオームの法則で使用しているウィジェットをコピペして名称を変更します。最後にタブページを切り替えたときの動作を確認する為にイベントを作り、前回のmainwindow.cppに追記コメントのあるコードをに記載します。
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRegExpValidator>
#include <QDebug> //追記
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pB_Do_clicked()
{
_E=ui->lE_E->text().toFloat(); //電圧代入
_R=ui->lE_R->text().toFloat(); //抵抗値代入
_I=ui->lE_I->text().toFloat(); //電流値代入
if(ui->lE_E->text()=="") //電圧が空白の場合
{
_E=_I*_R; //電圧計算
ui->lE_E->setText(QString::number(_E)); //電圧表示
}
else if(ui->lE_R->text()=="") //抵抗が空白の場合
{
_R=_E/_I; //抵抗計算
ui->lE_R->setText(QString::number(_R)); //抵抗表示
}
else if(ui->lE_I->text()=="") //電流が空白の場合
{
_I=_E/_R; //電流計算
ui->lE_I->setText(QString::number(_I)); //電流表示
}
}
//以下追記
void MainWindow::on_tabWidget_currentChanged(int index)
{
qDebug()<<index;
}
実行してタブページを切り替えると0か1に切り替わります。この数字はtabウィジェットのプロパティ、currentIndexの値が表示されています。
次回はこのcurrentIndexの値を使ってギア電卓とオームの法則電卓の機能を使い分けるようにします。