2

我正在使用Qt KDE Necessitas项目。我在 Qt Creator 中构建了一个项目,并且正在将其安装apk在模拟器 API-15 上(也在 API-10 上进行了测试)。

以下代码设置为在QLineEdit单击按钮时清除两个不同对象的文本,但事实并非如此。随机地,只有两个QLineEdit对象中的一个被清除。

主窗口.h:

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
public slots:
    void slotClear();

private:
    QLineEdit* line1;
    QLineEdit* line2;
//...
};

主窗口.cpp:

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QVBoxLayout* mainLayout = new QVBoxLayout;

    QFormLayout* form = new QFormLayout;
    line1 = new QLineEdit;
    form->addRow(tr("Line 1: "), line1);
    line2 = new QLineEdit;
    form->addRow(tr("Line 2:"), line2);

    QPushButton* button = new QPushButton;
    mainLayout->addLayout(form);
    mainLayout->addWidget(button);

    QWidget* centralWid = new QWidget(this);
    centralWid->setLayout(mainLayout);
    this->setCentralWidget(centralWid);

    connect(button, SIGNAL(clicked()), this, SLOT(slotClear()));
}

void MainWindow::slotClear()
{
    line1->clear();
    line2->clear();
}
//...

调用该函数QLineEdit::setText("")会产生相同的结果。此外,将clicked()按钮的信号直接连接到clear()插槽的插槽QLineEdit没有任何效果。

我很久没有在 Qt 中编程了,所以我不确定我是否做错了什么。是否有人看到需要纠正某些内容才能从 BOTH QLineEdits 中清除文本?我不确定这是 Qt 本身还是 Qt Necessitas 独有的。任何投入将不胜感激。

编辑

我还刚刚注意到,在一行中输入文本,切换到另一行并在那里输入文本,然后切换回原始行会导致单击该字段后原始文本被删除(注意,从未单击过该按钮) . 我认为这是一个非常明确的迹象,表明正在发生一些时髦的事情。

编辑 2

在 KDE中注册为错误

4

0 回答 0