鱼C论坛

 找回密码
 立即注册
查看: 3874|回复: 12

[已解决]pyqt实现Windows文件浏览器

[复制链接]
发表于 2018-9-27 16:32:04 | 显示全部楼层 |阅读模式
30鱼币

  目前想做一个网盘类的软件,图形化界面使用pyqt时,怎么实现像Windows文件浏览器那样的界面的。可以不给代码,只要说一下用什么类实现,怎么实现就行
2018-09-27_162716.png
最佳答案
2018-9-27 16:32:05
qwertyuiop1822 发表于 2018-9-28 09:03
这只是当浏览器使用,并不能实现像Windows浏览文件那样的界面

WebEngineView的确做文件浏览愚蠢了点,,
你用QFileDialog吧
  1. from PyQt5 import QtCore, QtGui, QtWidgets, Qt
  2. from PyQt5.QtWidgets import *
  3. from PyQt5.QtCore import *

  4. class Ui_MainWindow(QtWidgets.QMainWindow):

  5.     def __init__(self):
  6.         super(Ui_MainWindow,self).__init__()
  7.         self.setupUi(self)
  8.         self.retranslateUi(self)

  9.     def setupUi(self, MainWindow):
  10.         MainWindow.setObjectName("MainWindow")
  11.         MainWindow.resize(386, 127)
  12.         self.centralWidget = QtWidgets.QWidget(MainWindow)
  13.         self.centralWidget.setObjectName("centralWidget")
  14.         self.retranslateUi(MainWindow)

  15.         self.pushButton = QtWidgets.QPushButton(self.centralWidget)
  16.         self.pushButton.setGeometry(QtCore.QRect(190, 90, 75, 23))
  17.         self.pushButton.setObjectName("pushButton")
  18.         self.pushButton.setText("打开")
  19.         MainWindow.setCentralWidget(self.centralWidget)
  20.         QtCore.QMetaObject.connectSlotsByName(MainWindow)

  21.         self.pushButton.clicked.connect(self.openfile)

  22.     def retranslateUi(self, MainWindow):
  23.         _translate = QtCore.QCoreApplication.translate
  24.         MainWindow.setWindowTitle(_translate("MainWindow", "一颗数据小白菜"))


  25.     def openfile(self):
  26.         openfile_name = QFileDialog.getOpenFileName(self,'选择文件','','Excel files(*.xlsx , *.xls)')

  27. if __name__ == "__main__":
  28.     import sys
  29.     app = QtWidgets.QApplication(sys.argv)
  30.     MainWindow = QtWidgets.QMainWindow()
  31.     ui = Ui_MainWindow()
  32.     ui.setupUi(MainWindow)
  33.     MainWindow.show()
  34.     sys.exit(app.exec_())
复制代码

最佳答案

查看完整内容

WebEngineView的确做文件浏览愚蠢了点,, 你用QFileDialog吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-27 16:32:05 | 显示全部楼层    本楼为最佳答案   
qwertyuiop1822 发表于 2018-9-28 09:03
这只是当浏览器使用,并不能实现像Windows浏览文件那样的界面

WebEngineView的确做文件浏览愚蠢了点,,
你用QFileDialog吧
  1. from PyQt5 import QtCore, QtGui, QtWidgets, Qt
  2. from PyQt5.QtWidgets import *
  3. from PyQt5.QtCore import *

  4. class Ui_MainWindow(QtWidgets.QMainWindow):

  5.     def __init__(self):
  6.         super(Ui_MainWindow,self).__init__()
  7.         self.setupUi(self)
  8.         self.retranslateUi(self)

  9.     def setupUi(self, MainWindow):
  10.         MainWindow.setObjectName("MainWindow")
  11.         MainWindow.resize(386, 127)
  12.         self.centralWidget = QtWidgets.QWidget(MainWindow)
  13.         self.centralWidget.setObjectName("centralWidget")
  14.         self.retranslateUi(MainWindow)

  15.         self.pushButton = QtWidgets.QPushButton(self.centralWidget)
  16.         self.pushButton.setGeometry(QtCore.QRect(190, 90, 75, 23))
  17.         self.pushButton.setObjectName("pushButton")
  18.         self.pushButton.setText("打开")
  19.         MainWindow.setCentralWidget(self.centralWidget)
  20.         QtCore.QMetaObject.connectSlotsByName(MainWindow)

  21.         self.pushButton.clicked.connect(self.openfile)

  22.     def retranslateUi(self, MainWindow):
  23.         _translate = QtCore.QCoreApplication.translate
  24.         MainWindow.setWindowTitle(_translate("MainWindow", "一颗数据小白菜"))


  25.     def openfile(self):
  26.         openfile_name = QFileDialog.getOpenFileName(self,'选择文件','','Excel files(*.xlsx , *.xls)')

  27. if __name__ == "__main__":
  28.     import sys
  29.     app = QtWidgets.QApplication(sys.argv)
  30.     MainWindow = QtWidgets.QMainWindow()
  31.     ui = Ui_MainWindow()
  32.     ui.setupUi(MainWindow)
  33.     MainWindow.show()
  34.     sys.exit(app.exec_())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-27 16:44:21 | 显示全部楼层
  1. import sys
  2. from PyQt5.QtCore import *
  3. from PyQt5.QtWidgets import *
  4. from PyQt5.QtGui import *
  5. from PyQt5.QtWebEngineWidgets import *
  6. class MainWindow(QMainWindow):
  7.     def __init__(self, *args, **kwargs):
  8.         super().__init__(*args, **kwargs)
  9.         self.setWindowTitle("client")
  10.         self.setWindowIcon(QIcon('icons/icon.png'))
  11.         self.resize(900, 600)
  12.         self.show()
  13.         self.browser = QWebEngineView()
  14.         url = 'https://www.baidu.com'
  15.         self.browser.load(QUrl(url))
  16.         self.setCentralWidget(self.browser)
  17. if __name__=='__main__':
  18.     app = QApplication(sys.argv)
  19.     window = MainWindow()
  20.     window.show()
复制代码

QtWebKitWidgets可以参考下
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-28 07:38:21 | 显示全部楼层
上面那个不太方便,做网页浏览器更好,

用QFileDialog吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 09:03:42 | 显示全部楼层
这只是当浏览器使用,并不能实现像Windows浏览文件那样的界面
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 09:09:51 | 显示全部楼层
塔利班 发表于 2018-9-27 16:44
QtWebKitWidgets可以参考下

这只是当浏览器使用,并不能实现像Windows浏览文件那样的界面
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 09:14:49 | 显示全部楼层
塔利班 发表于 2018-9-28 07:38
上面那个不太方便,做网页浏览器更好,

用QFileDialog吧

QFileDialog这个我查了一下,应该是加载文件或文件夹的,怎么实现像我的电脑那样,点击某个文件夹,显示下级目录,可以新建文件夹和重命名还有移动和复制,小白求教
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-28 09:15:06 | 显示全部楼层
qwertyuiop1822 发表于 2018-9-28 09:09
这只是当浏览器使用,并不能实现像Windows浏览文件那样的界面

你把url换成路径就可以浏览文件,当然还可以浏览网页
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-28 09:16:42 | 显示全部楼层
qwertyuiop1822 发表于 2018-9-28 09:14
QFileDialog这个我查了一下,应该是加载文件或文件夹的,怎么实现像我的电脑那样,点击某个文件夹,显示 ...

这个就是可以的啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 10:18:37 | 显示全部楼层
塔利班 发表于 2018-9-28 09:16
这个就是可以的啊

求实现
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 10:21:02 | 显示全部楼层
塔利班 发表于 2018-9-28 09:15
你把url换成路径就可以浏览文件,当然还可以浏览网页

我需要的是实现这个界面,而不是打开这个界面窗口
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-28 11:12:49 | 显示全部楼层
qwertyuiop1822 发表于 2018-9-28 10:21
我需要的是实现这个界面,而不是打开这个界面窗口

也可以啊,你把图像绘制好放上去就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-9-28 16:29:36 | 显示全部楼层
塔利班 发表于 2018-9-28 11:12
也可以啊,你把图像绘制好放上去就行了

让我想想,先谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-14 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表