私はQtのに新しいですし、私は、次の作業を行うことで問題を抱えているとの間でデータの受け渡し:Qtの二つの形式
PS:私はいくつかの他の回答の質問をチェックしましたが、私は私ができる午前とは思いません問題を解く。
ヘッダ内にsetter/getterを持つ2つの整数を保持し、クラスインスタンスをmainwindow.cppに宣言したクラスを定義しました。 私は保持する(それがすなわちdialogchangesev.hとdialogchangesev.cpp別々の.cppと.hの中で独自のサブクラスのしている)QDialog
からボタンをクリックした後に、ユーザの入力(2 int
複数可)を取得したいです2つのQLineEdit
を入力し、mainwindow.cppにクラスインスタンスのプロパティを入力した2つのint
に設定します。
問題は次のとおりです。エラーが発生しました。 (下図参照)
ありがとうございました。
コードの断片://メインウィンドウ
// dialogchangesev.cpp
DialogChangeSEV::DialogChangeSEV(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogChangeSEV)
{
ui->setupUi(this);
connect(DialogChangeSEV, SIGNAL(sendIntData(int, int)),
MainWindow, SLOT(setIntData(int,int)));
// Error : C2275: 'DialogChangeSEV' : illegal use of this type as an expression
// Error: C2275: 'MainWindow' : illegal use of this type as an expression
// see declaration of 'MainWindow'
}
// code goes here ...
void DialogChangeSEV::on_setSEV_clicked()
{
int se, sv;
se = ui->setSE->text().toInt();
sv = ui->setSV->text().toInt();
// emit sendIntData(se,sv) ;
}
//dialogchangesev.h
// code goes here ...
signals:
void sendIntData(int datae, int datav);
};
//mainwindow.h
// code goes here ...
public slots:
void setIntData(int datae,int datav);
.cpp
// code goes here ... includes and so on
sizeEV gDimensions;
// ...
void MainWindow::setIntData(int datae,int datav){
gDimensions.setSE(datae);
gDimensions.setSV(datav);
}