Я пытаюсь разработать браузер файлов в Qt и C++.
Открытие FileSystem может занять много памяти. Таким образом, лучше всего открыть только то, что находится внутри папки, когда я нажимаю на нее.
В моем браузере.h я объявил сигнал 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 (parent)
в браузере.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)
{
...
Таким образом, гораздо яснее, как вторая строка относится к первой и третьей, и вы привыкли редактировать объявление, когда идете, чтобы сделать его определением, избегая той проблемы, которая у вас была.