要检测当前页面的所有edit和combobox等是否有变更,可以使用Qt的信号和槽机制。

首先,你需要为每个edit和combobox控件连接一个槽函数,用于处理控件的变更事件。在槽函数中,你可以将控件的当前值与其原始值进行比较,以确定是否有变更。

以下是一个示例代码,用于检测一个edit控件是否有变更:

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr)
        : QWidget(parent)
    {
        // 创建一个edit控件
        edit = new QLineEdit(this);

        // 保存edit的原始值
        originalValue = edit->text();

        // 连接edit的textChanged信号到槽函数
        connect(edit, &QLineEdit::textChanged, this, &MyWidget::onEditValueChanged);
    }

private slots:
    void onEditValueChanged(const QString &newValue)
    {
        // 检查edit的值是否有变更
        if (newValue != originalValue) {
            qDebug() << "Edit value changed: " << newValue;
        }
    }

private:
    QLineEdit *edit;
    QString originalValue;
};

对于combobox控件,你可以使用类似的方法进行检测。只需要将上述代码中的QLineEdit替换为QComboBox,并使用currentTextChanged信号来连接槽函数。

这样,当edit或combobox的值发生变更时,槽函数就会被触发,你可以在槽函数中进行相应的处理

qt 检测当前页面的所有edit和combobox等是否有变更

原文地址: https://www.cveoy.top/t/topic/iOVY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录