DonewDialog::DonewDialog(QWidget *parent) : QDialog(parent) //ui(new Ui::DoNewDialog) { numberEdit1 = new QLineEdit(this); QVBoxLayout *layout1 = new QVBoxLayout(this); layout1->addWidget(numberEdit1); numberEdit2= new QLineEdit(this); QVBoxLayout *layout2= new QVBoxLayout(this); layout2->addWidget(numberEdit2); numberEdit3 = new QLineEdit(this); QVBoxLayout *layout3= new QVBoxLayout(this); layout1->addWidget(numberEdit3); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); layout1->addWidget(buttonBox); layout2->addWidget(buttonBox); connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); int DonewDialog::getWidth() { int width = numberEdit1->text().toInt(); return width; } int DonewDialog::getHeight() { int width = numberEdit2->text().toInt(); return width; }
时间: 2024-04-13 19:28:50 浏览: 79
在你提供的代码中,有一些问题需要修正。以下是修正后的代码示例:
```cpp
DonewDialog::DonewDialog(QWidget *parent) :
QDialog(parent)
{
numberEdit1 = new QLineEdit(this);
numberEdit2 = new QLineEdit(this);
numberEdit3 = new QLineEdit(this);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(numberEdit1);
layout->addWidget(numberEdit2);
layout->addWidget(numberEdit3);
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
layout->addWidget(buttonBox);
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
}
int DonewDialog::getWidth()
{
bool ok;
int width = numberEdit1->text().toInt(&ok);
if (!ok) {
// 处理无效输入的情况
// 这里可以考虑弹出一个错误提示框或采取其他处理方式
}
return width;
}
int DonewDialog::getHeight()
{
bool ok;
int height = numberEdit2->text().toInt(&ok);
if (!ok) {
// 处理无效输入的情况
// 这里可以考虑弹出一个错误提示框或采取其他处理方式
}
return height;
}
int DonewDialog::getDepth()
{
bool ok;
int depth = numberEdit3->text().toInt(&ok);
if (!ok) {
// 处理无效输入的情况
// 这里可以考虑弹出一个错误提示框或采取其他处理方式
}
return depth;
}
```
修正后的代码中,创建了三个 QLineEdit 对象,并将它们添加到同一个 QVBoxLayout 布局中。然后,将 QDialogButtonBox 添加到布局中,并连接其 accepted 和 rejected 信号到 QDialog 的对应槽函数。
另外,修正了获取数字的函数 getWidth()、getHeight() 和 getDepth(),并添加了对无效输入的处理。
希望这个修正后的代码对你有帮助!
阅读全文