小编Mag*_*Sec的帖子

如何使用 epytext 记录 kwargs 以在 PyCharm 中自动完成提示?

是否可以获得 kwargs 的额外提示,这将为您提供预定义的可能关键字参数的示例?也许epytext不支持它?

class Person():
    def __init__(self, **kwargs):
        """
        @param name: Name
        @type name: str
        @param age: Age
        @type age: int
        @param connections: Connections to other persons
        @type connections: [Person]
        .
        .
        . # I know this is not working
        """
        self.name = kwargs[name] if name in kwargs
        self.age  = kwargs[age] if age in kwargs
        # and so on ...
Run Code Online (Sandbox Code Playgroud)

如果我能在完成提示中得到这样的东西(对不起,我不得不删除图片),那就太好了:

  • > 自我、姓名、年龄、人脉

一个 Quick Doku 看起来像这样:

  • 没有图像*

我真的很喜欢将通用课程作为父母的全球课程。这使得重用更容易。所以这是一个小片段示例:

class common():
    PERSON_DETAILS = dict( name       = ' ',
                           age        = …
Run Code Online (Sandbox Code Playgroud)

python docstring pycharm keyword-argument epytext

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

Python:如何使用不同的基类来变基或动态替换一个类

我正在尝试创建一个公共类,我想在不同的应用程序中使用它。

想法:一个可以用作 ui 创建的基类的类。此类将基于其特定 GUI 系统(PySide 或 PyQt)中的应用程序小部件

这将使我能够遵循相同的代码流程来生成 gui。我喜欢在管道中使用相同的结构,这样可以更轻松地使用相同的命令在不同的应用程序中工作。

问题:PyQt和PySide是用C++编译的,不遵循Python类结构

我尝试了很多不同的方法来让它发挥作用,但每次我在某个时候拿到库存时都没有得到我想要的结果。

  1. 尝试(变基):

    在这次尝试中,我曾经__class__对类本身进行变基。

    from PyQt4 import QtGui, QtCore
    
    class UiMainBase(object):
        PARENT = QtGui.QMainWindow
        def __init__(self, uiFile=None, parent=None):
            if parent: self.PARENT = parent
            self.__class__ = self.PARENT
    
    
    if __name__ == "__main__":
        import sys
        from PySide import QtGui as PySideGui
    
        class MyGui(UiMainBase):
            def __init__(self, uiFile):
                super(MyGui, self).__init__(uiFile, PySideGui.QMainWindow)
    
        Ui = r"C:\pythonTest\ui\test.ui"
        app = PySideGui.QApplication(sys.argv)
        win = MyGui(Ui)
        win.show()
        sys.exit(app.exec_())
    
    Run Code Online (Sandbox Code Playgroud)

我得到的错误是合理的,不需要解释。

    # 1st Error :
    Traceback (most recent call last):
      #[..] …
Run Code Online (Sandbox Code Playgroud)

python inheritance class pyqt pyside

5
推荐指数
1
解决办法
1982
查看次数