私のプロジェクトでは、Qt Designerフォームクラス〜mainwindow.ui
を宣伝しました。私はdoublerect.ui
と名付けられました.2つのQspinBoxes
の1つがsb_rect_height
であり、他の1つがsb_rect_width
です。今私はgetters
とsetters
を作成したので、それらのspinboex値をmainwindow.thereに渡す必要があります。しかし、getter
からmainwindow
にアクセスすると、これらの値は0 This main weight , 1072693248 This main height
のように表示されます。ですから、私に教えてください、私に解決策を教えてください。mainwindow
からスピンボックスの値にアクセスするにはどうすればいいですか? DoubleRect
クラスのThis my complete code昇格したフォームのQSpinBoxes値をMainWindowに渡す方法
doublerect.cpp
#include "doublerect.h"
#include "ui_doublerect.h"
#include "mainwindow.h"
#include "qdebug.h"
DoubleRect::DoubleRect(QWidget *parent) :
QWidget(parent),
ui(new Ui::DoubleRect)
{
ui->setupUi(this);
connect(ui->sb_rect_height, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
this, &DoubleRect::setHeight);
connect(ui->sb_rect_width, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
this, &DoubleRect::setWidth);
}
DoubleRect::~DoubleRect()
{
delete ui;
}
int DoubleRect::getWidth() const
{
return width;
}
void DoubleRect::setWidth(int value)
{
width = value;
}
int DoubleRect::getHeight() const
{
return height;
}
void DoubleRect::setHeight(int value)
{
height = value;
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qdebug.h>
#include <QColorDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
ui->widgethide->setVisible(true);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::addRect()
{
DoubleRect *obj = new DoubleRect();
int height = obj->getHeight();
int width = obj->getWidth();
qDebug()<< height <<"This main height";
qDebug()<< width <<"This main width";
}
void MainWindow::on_btnRect_clicked()
{
addRect();
}
私はこれらの変更を行いましたが、解決しませんでした – Learner
これで私は今すぐ何をする必要がありますか?完全なサンプルコードsolution.please – Learner
私はそうしました。私のgithubプロジェクトファイルをチェックし、いくつかの修正を加えてください。私はthis.pleaseとスタックしているので、これを解決するのを助けて – Learner