文件的浏览器

Browser of file

本文关键字:浏览器 文件      更新时间:2023-10-16

我正在尝试在Qt和C++中开发文件浏览器。

打开文件系统可能会占用大量内存。这样,最好的方法是仅在单击文件夹时打开文件夹中的内容。

在我的浏览器中,我已经声明了OnClick信号。

class Browser : public QTreeWidget
{
    Q_OBJECT
    public:
        Browser(USBDevice dev, QWidget* parent = 0);
        QTreeWidget(parent)
        {
            connect(this , SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,
                 // SLOT(showDirectory(QTreeWidgetItem*,int)));
        };
        ~Browser(){};
     public slots:
        void showDirectory(QTreeWidgetItem* item, int /*column*/)
        {
         ...
        }
};

QTreeWidget无法构建说:错误:函数定义未声明参数 - QTreeWidget(父级)

在浏览器中.cpp,我已经编写了创建窗口,小部件的代码。

Browser::Browser(USBDevice dev, QWidget *parent) :
    QTreeWidget(parent)
{
    QMainWindow *window = new QMainWindow();
    window->setWindowTitle(QString::fromUtf8("PULS"));
    window->resize(400, 400);
    QWidget *centralWidget = new QWidget(window);
    QTreeWidget *MyTree = new QTreeWidget(centralWidget);
    MyTree->setFixedSize(395,395);
}
//Set QTreeWidget Column Header
QTreeWidgetItem* headerItem = new QTreeWidgetItem();
headerItem->setText(0,QString("File Name"));
headerItem->setText(1,QString("Size (Bytes)"));
headerItem->setText(2,QString("Date"));
MyTree->setHeaderItem(headerItem);

我不明白,但如何管理连接?

在构造函数的初始化器列表之前,您有一个;而不是:

Browser(USBDevice dev, QWidget* parent = 0);    // <--- here
    QTreeWidget(parent)
{
    ...

FWIW,我建议像这样将冒号放在行的开头:

Browser(USBDevice dev, QWidget* parent = 0)
  : QTreeWidget(parent)
{
    ...

这样,第二行与第一行和第三行的关系就更清晰了,当你去定义声明时,你会养成编辑声明的习惯,避免你遇到的那种问题。