2

我想创建一个 QFileDialog 的子类,它将用于仅打开具有某些特定内容的目录。我可以设置我自己的代理模型来处理文件列表的行为,但是如何禁用/启用确定按钮?我必须创建自己的小部件吗?

4

2 回答 2

2

您应该能够通过安装代理模型来根据您的条件过滤文件和目录来做到这一点。

编辑:

这仅适用于通过隐藏不需要的文件来处理文件。但是您不能隐藏目录,因为您需要允许导航到它们。

对于选择目录,您必须构建自己的对话框。是的,我认为这是 Qt 的缺陷。

于 2012-09-01T18:26:37.147 回答
2

我能够执行以下操作来获得“保存”按钮:

QDialogButtonBox *button_box = findChild<QDialogButtonBox *>();
QPushButton *save_button;

if (button_box) {
    save_button = button_box->button(QDialogButtonBox::Save); // depends on acceptMode()
}
于 2012-10-05T22:41:05.587 回答