C++ Qt:在表单上添加文件选择字段(QLineEdit和“浏览”按钮)
我需要在我的表单上用“浏览”按钮显示C++ Qt:在表单上添加文件选择字段(QLineEdit和“浏览”按钮),c++,qt,qt-designer,qtgui,qfiledialog,C++,Qt,Qt Designer,Qtgui,Qfiledialog,我需要在我的表单上用“浏览”按钮显示QLineEdit。当用户单击按钮时,应打开QFileDialog,依此类推 这是很常见的事情,但我找不到现成的解决方案。我期望在Qt Designer中有一些小部件,比如QFileSelect,或者类似的东西,但没有发现类似的东西 我应该手动执行吗?或者,正确的方法是什么 我应该手动执行吗?或者,正确的方法是什么 是的,我同意你的观点,这是一件普通的事情,但不幸的是,你需要自己来实现这一点。好消息是,您可以通过以下方式轻松做到这一点: MyMainWindo
QLineEdit
。当用户单击按钮时,应打开QFileDialog
,依此类推
这是很常见的事情,但我找不到现成的解决方案。我期望在Qt Designer中有一些小部件,比如QFileSelect
,或者类似的东西,但没有发现类似的东西
我应该手动执行吗?或者,正确的方法是什么
我应该手动执行吗?或者,正确的方法是什么
是的,我同意你的观点,这是一件普通的事情,但不幸的是,你需要自己来实现这一点。好消息是,您可以通过以下方式轻松做到这一点:
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));
}
}
谢谢,我只是想确保我不会再发明轮子。这不是按照OP的要求使用
QLineEdit
,所以文本(文件夹路径)不可查看和编辑,或者是?