Qt:findfiles 浅浅的花香味﹌ 2022-10-24 11:47 42阅读 0赞 1、创建一个基于QWidget的应用,基类选择QWidget,类名Mindows ![3e6e4ac76129d10685c14300626d5c5cf13.jpg][] ![f583336fd6dc6448f045e57b6a9569869e9.jpg][] ![2d55e8b24092db79dedd3ce00458cbca282.jpg][] ![65562e8c6d357821a5d0771ac6020dc5e2b.jpg][] 给combox添加可编辑属性 ![6f0b4e2648c686a931a0c12a9d4488e9e5b.jpg][] 实现选择目录功能: 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() { } ![828f70cde9b965221e560944c4ee4bf6.png][] [3e6e4ac76129d10685c14300626d5c5cf13.jpg]: /images/20221024/df0ce3ad031e4afc8b58107fae9580a7.png [f583336fd6dc6448f045e57b6a9569869e9.jpg]: /images/20221024/17699f7b2de540beb2b01d300e4271ab.png [2d55e8b24092db79dedd3ce00458cbca282.jpg]: /images/20221024/1d9809939a8e4218b74f24cf1a1b0172.png [65562e8c6d357821a5d0771ac6020dc5e2b.jpg]: /images/20221024/f2e04ec03ce34fab940660afcd38eb25.png [6f0b4e2648c686a931a0c12a9d4488e9e5b.jpg]: /images/20221024/93c0b8ae5dfe43128eb9d49c74f7a9da.png [828f70cde9b965221e560944c4ee4bf6.png]: /images/20221024/7a46625b48f94beeb9bffe55731246ab.png
还没有评论,来说两句吧...