class genericTaskList : public QListWidget
{
    Q_OBJECT
    public:
        QListWidgetItem *defaultText;

        genericTaskList (QWidget *parentWidget)
        {
            setParent      (parentWidget);
            setFixedSize (445, 445);

            defaultText = new QListWidgetItem ("Double click here to compose the task");
            defaultText->setFlags (defaultText->flags () | Qt :: ItemIsEditable);

            insertItem     (0, defaultText);

            QObject :: connect (this, SIGNAL (currentRowChanged (int)), this, SLOT (addDefaultText (int)));
        }

    public slots:
        void addDefaultText (int rr)
        {
            std::cout << "\ndsklfjsdklfhsdklhfkjsdf\n";

            insertItem (++rr, defaultText);
        }
};

该代码应在每次编辑行时发出一个信号。

在构造函数中调用“ insertItem ”后,发出信号。
但是,仅此而已。此后再也不会发出-无论我编辑该行多少次。

我想念什么?

最佳答案

currentRowChanged表示行选择已更改,而不是行内容。也许您想改用currentTextChangeditemChanged

在QT文档中重用“当前”和“更改”一词非常令人困惑。

08-06 14:48