我是一名学生程序员,使用 Qt 为我的公司构建阅读器表。该阅读器既是编辑器又是转换器。它读入一个 .i 文件,允许对文本文档进行表格编辑,然后输出一个 .scf 文件,该文件本质上是一个分隔值文件,堆叠在带有标题的图例下。我离题了...基本上导入的文件格式很难扫描和读取(几乎不可能)所以我想要修改打开的文件 preBuilt QFileDialog 以在选择旧文件类型时包含一个额外的下拉列表来声明他们的模板标题。
当用户选择 .i 扩展文件(选项 2 文件类型)时,我想启用一个额外的下拉菜单,以允许用户选择它是哪种类型的 .i 文件(选择模板)。这样我就不必处理天知道有多少小时试图找出一种方法将所有标题索引到每种不同类型的表中。目前,我的 importFile 函数使用以下方法调用对话框:
QString fileLocation = QFileDialog::getOpenFileName(this,("Open File"), "", ("Simulation Configuration File(*.scf);;Input Files(*.prp *.sze *.i *.I *.tab *.inp *.tbl)")); //launches File Selector
我一直在参考QFileDialog 文档来尝试找到我需要的解决方案,但无济于事。感谢您阅读我的帖子,并提前感谢您对此提供的任何指导。
2012 年 3 月 16 日更新;首先,我要感谢 Masci 对此事的最初支持。下面是我收到的错误的连接语句。
//Declared data type
QFileDialog openFile;
QComboBox comboBoxTemplateSelector;
connect(openFile, SIGNAL(currentChanged(const &QString)), this, SLOT(checkTemplateSelected()));
openFile.layout()->addWidget(comboBoxTemplateSelector);
我还注意到它不喜欢我将 QComboBox 添加到修改后的对话框布局的方式(这是第二个错误)。我真的希望我只是在这里做一些愚蠢的事情,这是一项容易克服的任务。
为了回应 tmpearce 的评论,这是我的标题代码;
#include <QWidget>
namespace Ui {
class ReaderTable;
}
class ReaderTable : public QWidget
{
Q_OBJECT
public:
explicit ReaderTable(QWidget *parent = 0);
~ReaderTable();
public slots:
void checkTemplateSelected();
void importFile();
void saveFile();
private:
Ui::ReaderTable *ui;
};
感谢您阅读并提前感谢您对此挑战的任何贡献!