【发布时间】:2012-03-06 13:21:14
【问题描述】:
以下代码应该调用 MainWindow 函数,但它没有调用它。我正在使用 QT IDE。
#include "itemdialog.h"
#include "ui_itemdialog.h"
#include "mainwindow.h"
ItemDialog::ItemDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ItemDialog)
{
ui->setupUi(this);
setWindowTitle("Status Dialog");
}
ItemDialog::~ItemDialog()
{
delete ui;
}
void ItemDialog::on_pushButton_clicked()
{
MainWindow *obj=new MainWindow;
obj->okbuttonclicked(ui->lineEdit->text());
}
okbuttonclicked() 函数是在 MainWindow 中实现的。这个对话框不应该打开一个新窗口。它的功能只是将用户输入的内容返回给 MainWindow 函数。
这段代码有什么问题。请帮忙!
【问题讨论】:
-
你试过火吗:obj->show() after obj->okbuttonclicked[...]?
-
我为什么要调用obj->show(),窗口已经打开了。这个对话框只是为了从用户那里获取输入,然后将它传递给 MainWindow 函数以便采取进一步的行动..
-
您的代码是否应该在按下对话框按钮时创建一个新的主窗口...?
-
没有。窗口已经打开了。此对话框是 MainWindow 的子窗口
-
您是从对话框中调用主窗口的函数吗?为什么?即使你做对了,这仍然是一个不好的做法。