-
QT远程Linux文件浏览器_qt读取远程电脑的文件目录
- 网站名称:QT远程Linux文件浏览器_qt读取远程电脑的文件目录
- 网站分类:技术文章
- 收录时间:2025-08-30 03:30
- 网站地址:
“QT远程Linux文件浏览器_qt读取远程电脑的文件目录” 网站介绍
写完了windows本地浏览器
https://www.toutiao.com/i6831713760030229003/
又开始琢磨如何可以像xftp一样方便的访问服务器文件系统,于是经过一番撸码,封装了如下QT组件:
xFileBrowserLinux,继承自QWidget,当然这只是娱乐,我最终的目的是写一个比xftp更方便的东西,先封装linux端组件:
主要原理是使用封装的pssh客户端库连接Linux服务器(使用用户名密码方式),然后保持长连接执行命令获取文件目录信息并刷新显示
主要功能如下:
自动重连功能
连接Linux服务器后,服务器挂了或网络原因导致sshd不服务了,会自动重连,直至重连成功重新获取信息,断开后状态显示为红点,连接显示为绿点:
新建文件
远程执行touch
新建目录
远程执行mkdir -p
ssh登录
调用本地putty,带入服务器地址,用户名,密码,端口登录,连密码也自动输入了,纯,一键登录.效果如图:
vnc登录
与ssh登录类似,一键登录vnc,使用本地vncviewer方式外部调用.连密码也自动输入了,纯.一键登录
重命名
远程执行mv命令
删除
远程执行rm -rf 命令
xFileBrowserLinux主要代码如下(写的比较烂,个人风格严重,轻喷):
class xFileBrowserLinux : public QWidget
{
Q_OBJECT
public:
explicit xFileBrowserLinux(QWidget *parent = 0);
pstring strhost;
int iport;
pstring strpwd;
pstring struser;
int iportvnc;
pstring strpwdvnc;
pstring getTypeNow();//获取当前行类型
pstring getItemNow(pstring strcolname);
pstring getPathFullNow();//获取当前全路径(路径加文件名)
pstring getPathPwdNow();//获取当前路径
QAction* pActionFirst;//第一个菜单,用于外边后边加
QAction* newActionTop(QString name);//往前加
pssh *psh=NULL;
~xFileBrowserLinux();
//需要自己初始化,会自动重连
void init(pstring host="82.156.128.240",int port=22,pstring pwd="123.asdf",pstring user="root",int iportvnc=2,pstring pwdvnc="sjcs_325");
void threadGetDataAndShow();
private:
void ssh();
void vnc();
private slots:
void slotSetConnectState(bool bState);
void slotDoubleClick(int row,int col);
void on_pbutUpLevel_clicked();
void on_pbutVNC_clicked();
void on_pbutSSH_clicked();
signals:
void sigShowTable(plist<pliststring> lmdata, int keyid=0);
void sigDoubleClick(int row,int col);
void sigSetConnectState(bool bState);
private:
plist<pliststring> getNowFileAndDirs();
bool bstop=false;
Ui::xFileBrowserLinux *ui;
};
当然目前这个组件还只能看看信息,后续会加上sftp传输文件以及目录.
更多相关网站
- Qt使用教程:指定编辑器设置_qt需要设置一个编辑器来构建
- 24章全-Qt 全流程实战企业级项目 - 云对象存储浏览器
- Qt中的IO操作_qt的ide
- QT5.9.9生成并调用自己的DLL_qt怎么调用dll文件
- 从零开始学Qt(25):常用的宏定义_从零开始学习26键
- Qt与Js互相调用_java调用qt
- Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- Qt编程基础_qt编程入门
- Qt 纯C++项目发布为dll的方法(超详细步骤)
- Qt开发dll共享库简单的调试方法_qt发布dll
- 从零开始学Qt(52):QTextStream读写文本文件
- 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
- Qt使用教程:指定生成设置(二)_qt二维码生成教程
- 用Qt简化你的开发工具集,从MCU到桌面电脑,应有尽有
- Qt drawText 绘制文本_qt drawrect
- QT框架之个人管理系统实现-前导文
- Qt文件路径:QDir_qt 当前路径
- 怎么在qt中加载css文件_qt怎么添加ui
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)