gpt4 book ai didi

c++ - 如何将验证器与 QTableWidgetItem 一起使用?

转载 作者:太空狗 更新时间:2023-10-29 20:26:50 24 4
gpt4 key购买 nike

假设我有一个 QTableWidgetItem 项,我只想验证用户输入的数据。例如,用户只需在该项目中输入一个数字,否则程序将显示一个警告对话框。

我也在 that document page 上搜索但我没有找到与setValidator() 函数类似的函数。

我如何为该 QTableWidgetItem 项目使用验证器?

最佳答案

假设您真正想要的是具有 QValidate 功能的单元格,您可以使用 QLineEdit 实例来填充单元格。这是一个使用 QDoubleValidator 的示例,但任何 QValidator 都可以工作:

QLineEdit *edit = new QLineEdit(ui->myTable);
edit->setValidator(new QDoubleValidator(edit));
ui->myTable->setCellWidget(row, col, edit);

默认情况下,QLineEdit 将填充单元格并用边框绘制。要保留表格的外观,您可以通过先验调用以下函数来关闭框架:

QLineEdit::setFrame(false);

这个解决方案的一个烦人的事情是你必须调用

QWidget* QTableWidget::cellWidget(row, col) const

随后访问每个单元格中的 QLineEdit 实例,这意味着您还必须将指针转换为 QLineEdit*。 (参见 qobject_cast())。这有点冗长但可行。

关于c++ - 如何将验证器与 QTableWidgetItem 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18309715/

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