小编ymm*_*mmx的帖子

Python:是否可以链接属于两个不同类的两个变量?

我想将两个变量连接到两个不同的类但我不知道我正在尝试做的是否可能.

例如,如果我有这两个类:

class one():
    def __init__(self):
        self.a = 0
    def compute(self):
        self.a = self.a + 1


class two():
    def __init__(self):
        self.a = 0
        self.C_one = one()
        self.link()

    def link(self):
        self.a = self.C_one.a

    def compute(self):
        self.C_one.compute()
        print('C_one a=',self.C_one.a )
        print('C_two a=',self.a )

C_two = two()
for i in range(5):
    C_two.compute()
Run Code Online (Sandbox Code Playgroud)

在类中,two我想将变量aa类的变量连接起来one,所以self.a = self.C_one.a每次执行时都不必显式调用C_two.compute

示例中的代码给了我这个:

C_one a= 1
C_two a= 0
C_one a= 2
C_two a= 0
C_one a= 3
C_two …
Run Code Online (Sandbox Code Playgroud)

python class

4
推荐指数
1
解决办法
530
查看次数

RunSnakeRun 在 Windows 上根本打不开

我正在尝试使用 runningnakerrun 来可视化使用 cProfile 制作的一些配置文件,但我无法打开它。我尝试使用以下命令打开我的文件:

C:\Users\Maxime\PycharmProjects\NMMSofware>c:\Anaconda2\Scripts\runsnake.exe o.prof
Run Code Online (Sandbox Code Playgroud)

或者

C:\Anaconda2\Scripts>runsnake.exe
Run Code Online (Sandbox Code Playgroud)

我还尝试通过双击 runningnake.exe 应用程序从 Scripts 文件夹运行它,但没有任何附加内容。

我尝试重新安装它但没有成功。

我没主意了。

python profile

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

为什么在使用 pyqt 时 PyCharm 中的 python 控制台不显示任何错误消息?

我的一些使用 pyqt5 的代码遇到了一些问题。当我的 Qt 类出现问题时,控制台不会记录有关崩溃发生原因的任何信息。例如使用此代码:

rom PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys


class SurfViewer(QMainWindow):
    def __init__(self, parent=None):
        super(SurfViewer, self).__init__()
        self.parent = parent
        self.centralWidget = QWidget()
        self.color = self.centralWidget.palette().color(QPalette.Background)
        self.setCentralWidget(self.centralWidget)
        self.plotview = QGroupBox(" ")
        self.layout_plotview = QVBoxLayout()
        self.Button_Crash= QPushButton('Crash!')
        self.layout_plotview.addWidget(self.Button_Crash)
        self.centralWidget.setLayout(self.layout_plotview)
        self.Button_Crash.clicked.connect(self.TestForCrash)


    def TestForCrash(self,): 
        a=b 
        return  

def main():
    app = QApplication(sys.argv)
    ex = SurfViewer(app)
    ex.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

由于功能b未知TestForCrash,Qt 窗口刚刚退出,但我在控制台中什么也没有。我想知道它们是否是一种强制控制台自动打印正在发生的事情的线索的方法。

现在我正在使用 atry except来解决这个问题,但我不太喜欢这个想法:

from PyQt5.QtGui …
Run Code Online (Sandbox Code Playgroud)

python console message pyqt pycharm

2
推荐指数
1
解决办法
3242
查看次数

带 AnchoredText 的粗体文本(Python 和 Matplotlib)

是否可以使用 AnchoredText 将文本渲染为粗体?

plt.figure() 
ax = plt.subplot(3,1,1) 
anchored_text = AnchoredText("a", loc=2,borderpad=0.,frameon=False)
ax.add_artist(anchored_text)
Run Code Online (Sandbox Code Playgroud)

我找不到可以添加什么参数来使文本变为粗体。

python text matplotlib

2
推荐指数
1
解决办法
6726
查看次数

如何将动画 GIF 集成到 QMessageBox 中?

我想要一个带有QMessageBox移动 GIF 作为图标的。所以我做了这个:

from PyQt5.QtGui import * 
from PyQt5.QtWidgets import *
import os
import sys

def msg_wait(s):
    msg = QMessageBox()
    msg.setIconPixmap(QPixmap('wait.gif').scaledToWidth(100))
    msg.setText(s)
    msg.setWindowTitle(" ")
    msg.setModal(False)
    # msg.setStandardButtons(QMessageBox.Ok)
    msg.show()
    return msg


class SurfViewer(QMainWindow):
    def __init__(self, parent=None):
        super(SurfViewer, self).__init__()
        self.parent = parent
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)

        self.msg=msg_wait('blablabla')
        self.msg.setStandardButtons(QMessageBox.Cancel)

def main():
    app = QApplication(sys.argv)
    ex = SurfViewer(app)
    ex.setWindowTitle('NMM Stimulator')

    ex.showMaximized()
    ex.show()
    # ex.move(0, 0)
    # ex.resizescreen()
    sys.exit(app.exec_( ))


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

GIF 的位置是:

在此输入图像描述

但结果是一个固定的图像。我怎样才能让它动画化?我在QMovie课堂上尝试了一些东西,但无法在QMessageBox.setIconPixmap函数中设置它

python icons pyqt qmessagebox pyqt5

2
推荐指数
1
解决办法
1993
查看次数

在 PyQt5 中修改 Qgroupbox 的边框颜色而不修改其内部小部件的边框

我正在尝试修改 groupbox 的颜色边框,但是当我这样做时,它也会修改内部小部件的边框,例如:

在此处输入图片说明

但我想得到类似的东西: 在此处输入图片说明

这是我到目前为止的代码:

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import * 

class tabdemo(QMainWindow):
    def __init__(self):
        super(tabdemo, self).__init__()
        self.setGeometry(50,50,500,500)
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)
        self.mainB  = QVBoxLayout()

        self.GB = QGroupBox("GroupBox")
        self.GB.setStyleSheet("QGroupBox { border: 1px solid red;}")
        self.GB.setFixedWidth(100)
        self.mainHBOX  = QVBoxLayout()

        self.GB1 = QGroupBox("GroupBox1")
        self.GB1.setFixedHeight(100)
        self.GB2 = QGroupBox("GroupBox2")
        self.GB2.setFixedHeight(100)
        self.GB3 = QGroupBox("GroupBox3")
        self.GB3.setFixedHeight(100)
        self.mainHBOX.addWidget(self.GB1)
        self.mainHBOX.addWidget(self.GB2)
        self.mainHBOX.addWidget(self.GB3)

        self.GB.setLayout(self.mainHBOX)

        self.mainB.addWidget(self.GB)

        self.centralWidget.setLayout(self.mainB)





def main():
   app = QApplication(sys.argv)
   ex = tabdemo()
   ex.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   main()
Run Code Online (Sandbox Code Playgroud)

重要的一行是 …

python pyqt colors

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

使用字符串时,setattr 不会更新类的正确属性

我正在尝试用setattr一个字符串更新一个类的属性。因此,例如使用此代码:

class ClassA():
    def __init__(self):
        self.A = 0

class ClassB():
    def __init__(self):
        self.CA = ClassA()

CB = ClassB()
setattr(CB, "CA.A", 2)

print(CB.CA.A)
Run Code Online (Sandbox Code Playgroud)

当我这样做setattr(CB, "CA.A", 2),它不会更新属性A中的CACB。相反,它会创建另一个属性,如图所示:

在此处输入图片说明CB名为CA.A

然后当我打印时print(CB.CA.A),我得到一个 0 值。我不明白为什么会发生这种情况以及是否存在解决方案?

python string setattr

0
推荐指数
1
解决办法
978
查看次数

标签 统计

python ×7

pyqt ×3

class ×1

colors ×1

console ×1

icons ×1

matplotlib ×1

message ×1

profile ×1

pycharm ×1

pyqt5 ×1

qmessagebox ×1

setattr ×1

string ×1

text ×1