gpt4 book ai didi

c++ - QDialog 返回值,仅接受或拒绝?

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:34 26 4
gpt4 key购买 nike

如何从 QDialog 返回自定义值?这是documented它返回

QDialog::Accepted   1
QDialog::Rejected 0

如果用户按 OkCancel

我正在考虑在一个自定义对话框中呈现,即三个复选框以允许用户选择一些选项。 QDialog 是否适用于此?

最佳答案

您会对 2 个函数感兴趣:

通常,QDialog 中的“确定”按钮连接到QDialog::accept() 插槽。你想避免这种情况。相反,编写您自己的处理程序来设置返回值:

// Custom dialog's constructor
MyDialog::MyDialog(QWidget *parent = nullptr) : QDialog(parent)
{
// Initialize member variable widgets
m_okButton = new QPushButton("OK", this);
m_checkBox1 = new QCheckBox("Option 1", this);
m_checkBox2 = new QCheckBox("Option 2", this);
m_checkBox3 = new QCheckBox("Option 3", this);

// Connect your "OK" button to your custom signal handler
connect(m_okButton, &QPushButton::clicked, [=]
{
int result = 0;
if (m_checkBox1->isChecked()) {
// Update result
}

// Test other checkboxes and update the result accordingly
// ...

// The following line closes the dialog and sets its return value
this->done(result);
});

// ...
}

关于c++ - QDialog 返回值,仅接受或拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37094751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com