如何从 QInputDialog 中删除所有按钮
Posted
技术标签:
【中文标题】如何从 QInputDialog 中删除所有按钮【英文标题】:How to remove all buttons from QInputDialog 【发布时间】:2016-09-20 21:30:02 【问题描述】:我有一个带有组合框的输入对话框,可以在 2 个选项之间进行选择。
void MainWindow::on_UpdateCPUAssmblyBtn_clicked()
if(!ui->AssemblyCpuSN->toPlainText().toStdString().empty())
QStringList items;
items << tr("OUT_FOR_PCB_REPAIR") << tr("PCB_SCRAPPED");
bool ok;
std::string scrapcode="";
QInputDialog* inputDialog = new QInputDialog();
inputDialog->setOption(QInputDialog::NoButtons);
QString item = inputDialog->getItem(NULL ,"Manufacturing Stage",
"Please select the reason for removing the old board :", items, 0,false,
&ok);
if(ok && !item.isEmpty())
scrapcode=item.toStdString();
/* Do something with scrapcode */
else
QPixmap pix("icons/angry1.png");
mbox->setIconPixmap(pix);
mbox->setWindowTitle("ERROR");
mbox->setText("Disassociation is not successful.CPU SN is empty.");
mbox->show();
如何从 QInputDialog 中删除按钮?我正在使用“NoButtons”标志,但它仍然没有帮助。请建议任何其他方法。
【问题讨论】:
【参考方案1】:QInputDialog::getItem
方法是 static method。换句话说,它与您的实例化对象无关(即inputDialog
)。您应该改用以下代码 sn-p。
QInputDialog* inputDialog = new QInputDialog();
inputDialog->setOption(QInputDialog::NoButtons);
inputDialog->setComboBoxItems(items);
inputDialog->setWindowTitle("Manufacturing Stage");
inputDialog->setLabelText("Please select the reason for removing the old board :");
inputDialog->show();
结果:
对话框关闭后,您可以使用QInputDialog::textValue()
方法检索用户的选择。
【讨论】:
以上是关于如何从 QInputDialog 中删除所有按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript 或 html 按钮删除选定的表格行?
如何从 SqlAlchemy 中的多对多集合中删除所有项目?