Qt之findfiles
时间: 2018-09-15来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
1、创建一个基于QWidget的应用,基类选择QWidget,类名Mindows




给combox添加可编辑属性


实现选择目录功能:
window.h中: #ifndef WINDOW_H #define WINDOW_H #include <QWidget> QT_BEGIN_NAMESPACE class QComboBox; QT_END_NAMESPACE class Window : public QWidget { Q_OBJECT public: Window(QWidget *parent = 0); ~Window(); private slots: void browse(); private: QComboBox *createComboBox(const QString &text = QString()); QComboBox *directoryComboBox; }; #endif // WINDOW_H
main.cpp中 #include "window.h" #include <QtWidgets> void Window::browse() { QString directory = QDir::toNativeSeparators(QFileDialog::getExistingDirectory( this, tr("find files"), QDir::currentPath())); if (!directory.isEmpty()) { if (directoryComboBox->findText(directory) == -1) directoryComboBox->addItem(directory); directoryComboBox->setCurrentIndex(directoryComboBox->findText(directory)); } } QComboBox *Window::createComboBox(const QString &text) { QComboBox *comboBox = new QComboBox; comboBox->addItem(text); comboBox->setEditable(true); comboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); return comboBox; } Window::Window(QWidget *parent) : QWidget(parent) { QPushButton *browseButton = new QPushButton(tr("&Browse..."), this); connect(browseButton, &QAbstractButton::clicked, this, &Window::browse); directoryComboBox = createComboBox(QDir::toNativeSeparators(QDir::currentPath())); QGridLayout *mainLayout = new QGridLayout(this); mainLayout->addWidget(new QLabel(tr("In directory:")), 2, 0); mainLayout->addWidget(directoryComboBox, 2, 1); mainLayout->addWidget(browseButton, 2, 2); setWindowTitle(tr("Find Files")); const QRect screenGeometry = QApplication::desktop()->screenGeometry(this); resize(screenGeometry.width() / 4, screenGeometry.height() / 6); } Window::~Window() { }

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行