我需要QLineEdit
在我的表单上显示“浏览”按钮。当用户点击按钮时,QFileDialog
应该打开,依此类推。
这是很常见的事情,但我找不到现成的解决方案。我希望在 Qt Designer 中有一些类似的小部件QFileSelect
,或类似的东西,但没有发现类似的东西。
我应该手动实现吗?或者,这样做的正确方法是什么?
我需要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));
}
}