Изменение QFileDialog::getOpenFileName для добавления дополнительного раскрывающегося списка

Я студент-программист, использующий 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 , чтобы попытаться найти решение того, что мне нужно, но безрезультатно. Спасибо, что прочитали мой пост, и заранее спасибо за любое направление, которое вы можете дать по этому поводу.

ОБНОВЛЕНИЕ 16 МАРТА 2012 Г.; Во-первых, я хотел бы поблагодарить Маски за его первоначальную поддержку в этом вопросе.Ниже приведен оператор подключения, который у меня есть вместе с ошибкой, которую я получаю.

//Declared data type
    QFileDialog openFile;
    QComboBox comboBoxTemplateSelector;
    connect(openFile, SIGNAL(currentChanged(const &QString)), this, SLOT(checkTemplateSelected()));
    openFile.layout()->addWidget(comboBoxTemplateSelector);

compile errors

Я также заметил, что мне не понравилось то, как я добавил QComboBox в макет модифицированного диалога (что является второй ошибкой). Я действительно надеюсь, что я просто делаю что-то глупое здесь, и это легко преодолеть.

В ответ на комментарий tmpearce вот мой код заголовка;

#include 
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;
};

Спасибо за прочтение и заранее спасибо за любой вклад в эту задачу!

6
задан Wylie Coyote SG. 16 March 2012 в 16:01
поделиться