文档详情

Qt应用程序开发8.ppt

发布:2018-03-11约2.25万字共56页下载文档
文本预览下载声明
3 FTP编程-例子2 Widget.cpp代码如下: void Widget::processItem(QTreeWidgetItem *item, int) { QString name = item-text(0);//返回第0列的文本值 if (isDirectory.value(name)) { //如果这个文件是个目录,则打开 ui-fileList-clear(); isDirectory.clear(); currentPath += /; currentPath += name; ftp-cd(name); ftp-list(); ui-cdToParentButton-setEnabled(true); } } 3 FTP编程-例子2 Widget.cpp代码如下: void Widget::on_cdToParentButton_clicked() { ui-fileList-clear(); isDirectory.clear(); currentPath = currentPath.left(currentPath.lastIndexOf(/)); if (currentPath.isEmpty()) { ui-cdToParentButton-setEnabled(false); ftp-cd(/); } else {ftp-cd(currentPath);} ftp-list();} void Widget::on_downloadButton_clicked() { QString fileName = ui-fileList-currentItem()-text(0); this-file = new QFile(fileName); if (!file-open(QIODevice::WriteOnly)) {delete file; return; } ui-downloadButton-setEnabled(false); //下载按钮不可用,等下载完成后才可用 ftp-get(ui-fileList-currentItem()-text(0), file); } 3 FTP编程-例子2 Widget.cpp代码如下: void Widget::addToList(const QUrlInfo urlInfo) { QTreeWidgetItem *item = new QTreeWidgetItem; item-setText(0, urlI()); item-setText(1, QString::number(urlInfo.size())); item-setText(2, urlInfo.owner()); item-setText(3, urlInfo.group()); item-setText(4, urlInfo.lastModified().toString(MMM dd yyyy)); QPixmap pixmap(urlInfo.isDir()?../dir.png: ../file.png); item-setIcon(0, pixmap); isDirectory[urlI()] = urlInfo.isDir(); //存储该路径是否为目录的信息 ui-fileList-addTopLevelItem(item); if (!ui-fileList-currentItem()) { ui-fileList-setCurrentItem(ui-fileList-topLevelItem(0)); ui-fileList-setEnabled(true); } } void Widget::updateDataTransferProgress(qint64 readBytes,qint64 totalBytes) { ui-progressBar-setM
显示全部
相似文档