c++ - open - qt save file
Qt: agregue un campo de selección de archivos en el formulario(QLineEdit y botón "buscar") (1)
Necesito mostrar QLineEdit
con el botón "Examinar" en mi formulario. Cuando el usuario hace clic en el botón, se debe abrir QFileDialog
, y así sucesivamente.
Esto es algo bastante común, pero no puedo encontrar una solución lista para eso. QFileSelect
en Qt Designer algún widget como QFileSelect
, o algo así, pero no encontré nada similar.
¿Debo implementarlo a mano? O, ¿cuál es la forma correcta de hacer esto?
¿Debo implementarlo a mano? O, ¿cuál es la forma correcta de hacer esto?
Sí, estoy de acuerdo con usted en que es algo común, pero desafortunadamente, deberá implementarlo usted mismo. La buena noticia es que puedes hacer esto fácilmente con algo como esto:
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));
}
}