Qt: добавить поле выбора файла в форму (QLineEdit и кнопка «Обзор»)

Мне нужно отобразить QLineEdit с кнопкой «Обзор» в моей форме. Когда пользователь нажимает кнопку, QFileDialog должен быть открыт и так далее.

Это довольно распространенная вещь, но я не могу найти готовое решение для этого. Я ожидал в Qt Designer какой-нибудь виджет вроде QFileSelectили что-то в этом роде, но ничего подобного не нашел.

Должен ли я реализовать это вручную? Или как правильно это сделать?

18

Решение

Должен ли я реализовать это вручную? Или как правильно это сделать?

Да, я согласен с вами, что это обычное дело, но, к сожалению, вам нужно будет реализовать это самостоятельно. Хорошей новостью является то, что вы можете сделать это легко с помощью чего-то вроде этого:

MyMainWindow::createUI()
{
label = new QLabel("foo");
button = new QPushButton("Browse");
connect(button, SIGNAL(clicked()), SLOT(browse()));
layout = new QHorizontalLayout();
layout->addWidget(label);
layout->addWidget(button);
setLayout(layout);
}

void MyMainWindow::browse()
{
QString directory = QFileDialog::getExistingDirectory(this,
tr("Find Files"), QDir::currentPath());

if (!directory.isEmpty()) {
if (directoryComboBox->findText(directory) == -1)
directoryComboBox->addItem(directory);
directoryComboBox->setCurrentIndex(directoryComboBox->findText(directory));
}
}
15

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]