在QLineEdit上预先输入将终止屏幕



我在主屏幕上有一个由QDialog定义的QLineEdit。只要有了它,我就有一个表,其中包含QThread显示的动态数据,每2秒有50个数据。当我在QLinEdit中输入任何值,然后按enter键,屏幕就会终止。

 value = new QLineEdit(this);
        m_label = new QLabel(tr("&Enter Preference Value:"));
        m_label->setBuddy(value);
        m_preLayout->addWidget(m_label);
        m_preLayout->addWidget(value);
        m_preferenceGroup->setLayout(m_preLayout);
        connect(value, SIGNAL(returnPressed()), this, SLOT(preferentialData()));
void appWindow::preferentialData()
{
        valuee = (value->text()).toInt();
}

在这里,我从用户那里获取输入,然后将该输入转换为一个整数,该整数将进一步用于其他目的。现在,根据信号输入后,我按下回车键,然后屏幕立即关闭。

该值被转换为int,编译时不会出现任何错误,但为什么窗口会关闭?因为如果它关闭,那么我将进一步处理转换后的int的事情将毫无用处,因为在该int的帮助下,我将更改表上的一些显示,因为我提到我在该窗口中也有一个表。

感谢您提前为提供帮助

我几乎可以肯定(如果没有看到更多代码,就无法确定)对话框正在按下"Enter"键并调用其accept()方法,从而关闭对话框。如果您在Qt Creator中创建了对话框,并选择了在表单上放置按钮框的对话框类型之一,则默认情况下会连接此连接。

检查对话框的信号/插槽连接,并确保accept()插槽未连接到QPushButton或QDialogButtonBox信号。

最新更新