小编Har*_*aru的帖子

为什么 QFileDialog 使用斜杠而不是反斜杠?

为什么“\”和“/”混用?

os.getcwd() 发出反斜杠字符串。

另一方面,QFileDialog发出正斜杠字符串。

为什么?

例子

请执行此示例代码。

from PySide import QtGui
from PySide import QtCore
import sys
import os

class DirectoryPrinter(QtGui.QWidget):
    def __init__(self,parent=None):
        super(DirectoryPrinter,self).__init__(parent=None)

        self.filedialog_pushbutton = QtGui.QPushButton("filedialog",self)
        self.connect(self.filedialog_pushbutton,QtCore.SIGNAL("clicked()"),self.filename_getter)

    def filename_getter(self):
        print("from os.getcwd()",os.getcwd())
        filename = QtGui.QFileDialog.getOpenFileName(self,"Select your file",os.path.expanduser("~"))[0]
        print("from QFileDialog",filename)


def main():
    try:
        QtGui.QApplication([])
    except Exception as e:
        print(22,e)
    directoryprinter = DirectoryPrinter()
    directoryprinter.show()

    sys.exit(QtGui.QApplication.exec_())
if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

结果(在我的场合)

来自os.getcwd()J:\

来自QFileDialogC:/Users/******/setup.py

python operating-system pyside qfiledialog windows-10

6
推荐指数
1
解决办法
848
查看次数

使用<from PyQt5.QtWebEngineWidgets import QWebEnginePage>用错误的名称调用ValueError:PyCapsule_GetPointer

我自己已经解决了这个问题,但是我将这个问题交给其他人解决。我认为这种问题尽可能地好。而且SOF中似乎没有。

我更新spyderPyQt5

conda update spyder
Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: C:\Anaconda3

  added / updated specs:
    - spyder


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    anaconda-custom            |   py36h363777c_0           9 KB
    spyder-3.3.4               |           py36_0         2.6 MB
    spyder-kernels-0.4.4       |           py36_0          68 KB
    ------------------------------------------------------------
                                           Total:         2.7 MB

The following packages will be UPDATED:

  spyder                                       3.3.3-py36_0 --> 3.3.4-py36_0
  spyder-kernels                               0.4.2-py36_0 --> 0.4.4-py36_0

The following packages will be DOWNGRADED:

  anaconda                                   2019.03-py36_0 …
Run Code Online (Sandbox Code Playgroud)

errno spyder anaconda pyqt5 python-3.6

3
推荐指数
1
解决办法
3397
查看次数