网站首页 > 博客文章 正文
写完了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传输文件以及目录.
?
猜你喜欢
- 2024-09-08 Qt 贪吃蛇制作(含源码)(qt编写贪吃蛇)
- 2024-09-08 qt 提示“启动程序失败,路径或者权限错误?”解决方法
- 2024-09-08 电脑文件不小心删除了怎么办?两个方法教你秒恢复
- 2024-09-08 Qt——内存回收(qti内存)
- 2024-09-08 C++跨平台库QT学习 操作Excel(跨平台c++开发工具)
- 2024-09-08 Qt 工程 pro文件(qt工程文件.pro在哪儿找)
- 2024-09-08 Qt中的快捷键汇总(qtcreator快捷键)
- 2024-09-08 Qt中文乱码解决思路(vscode终端中文乱码怎么解决)
- 2024-09-08 Qt5+VS2015编程实例:下拉列表框QComboBox控件使用
- 2024-09-08 Qt编程进阶(87):基于HTTP协议的网络文件下载
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)