- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 QtCore.Signal
将类的新实例发送到对象的父级。我正在尝试做的事情如下,但失败了:
NameError: name 'myClass' is not defined
class myClass(QtGui.QMainWindow):
mySignal = QtCore.Signal(myClass)
def __init__(self, parent=None):
super(myClass, self).__init__(parent)
def create_new_self(self):
newSelf = myClass(self.parent())
self.mySignal.emit(newSelf)
class myParentClass(QtGui.QMainWindow):
def __init__(self, parent=None):
super(myParentClass, self).__init__(parent)
myNewClass = myClass(self)
myNewClass.mySignal.connect(self.handle_my_signal)
@QtCore.Slot(myClass)
def handle_my_signal(self, newMyClass):
newMyClass.mySignal.connect(self.handle_my_signal)
self.listOfClasses.append(newMyClass)
通过改变行:
mySignal = QtCore.Signal(myClass)
到
mySignal = QtCore.Signal(QtGui.QMainWindow)
似乎修复了错误,但我不确定这是否是执行此类操作的正确方法,除了它可能不是执行我正在做的事情的最佳方法。
最佳答案
执行此操作的典型方法是将信号定义为
mySignal = QtCore.Signal(object)
因为您希望发出一个类的实例。
编辑:如果您希望解决循环依赖,您可以将信号放在包装类中。例如
class myClass(QtGui.QMainWindow):
def __init__(self, parent=None):
super(myClass, self).__init__(parent)
# Note: argument of "self" is to parent the object
self.signalwrapper = MyWrapper(self)
def create_new_self(self):
newSelf = myClass(self.parent())
self.signalwrapper.mySignal.emit(newSelf)
class MyWrapper(QtCore.QObject):
mySignal = QtCore.Signal(myClass)
关于python - 可以将 QtCore 信号设置为当前类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603339/
在Mac上编译QT工程,遇到如下错误 ld: file not found: QtCore.framework/Versions/4/QtCore for architecture x86_64 这不
我正在用 C++ 编写多线程程序,并计划使用 QThread .问题是当我尝试 #include ...我得到一个错误... Cannot find include file QtCore. 什么给
我正在尝试从源代码构建一个包,./configure 告诉我缺少 QtCore 包。一直在谷歌搜索并尝试 apt-get 但没有成功。请帮忙。 最佳答案 它叫做 libqt4-core在 Debian
我正在尝试将 Qt 用作库(类似于 this ),因为我想在一些当前非 Qt 应用程序中重用 Qt 类,并在共享库中作为跨平台胶水。一切都是非 GUI 的。 DirectConnection 可以轻松
我正在尝试构建两个库:一个是静态的,一个是共享的。问题出在静态库上。我有以下文件夹: src/ db/ dbal.h dbal.pro dll/ Distributio
是否有可与 PyQT4 一起使用的信号列表,或者至少有一个与lostFocus()相反的信号列表? 最佳答案 “QWidget”生成了一个 QFocusEvent 事件,但不是信号。然而,有一个方便的
在我的项目中,QtCreator 让我可以: #include // include all core #include 但不是 #include 我有一个 .pro 文件,其中有 QT +=
我已经从源代码构建了 PyQt4,一切都很顺利,直到我尝试使用 QtCore 中的一些类和属性。由于某种原因,QtCore 缺少许多本应存在的功能和数据。例如,从 PyQt4.QtCore impor
我正在尝试使用 QtCore.Signal 将类的新实例发送到对象的父级。我正在尝试做的事情如下,但失败了: NameError: name 'myClass' is not defined clas
我一直在尝试安装 torch,但在运行 ./install.sh 时出现以下错误 CMake Error at /usr/share/cmake-2.8/Modules/FindQt4.cmake:6
我正在尝试使用 pyinstaller 的 --onefile 选项构建我的应用程序。这是摘录。 import sys from PyQt4 import QtGui, QtCore from mod
我的项目使用 cmake 试图寻找已安装的 QT4: root@netqa1:~# which qmake /usr/bin/qmake root@netqa1:~# ls -l /usr/lib/i
我在这个 windows 7 32 位上安装了 python3.3 x86(官方 python.org 安装程序) 然后从这里为 python3.3 windows x86 安装 PyQt4-4.10
这是我的 keyPressEvent def keyPressEvent(self , e): key = e.key() if key == QtCore.Qt.Key_Escape
我正在尝试让旧的 qt 项目再次运行。我相信它是用 QT4.x 编写的,我现在正在使用 QT 5.5。 *.pro 文件看起来有点像这样: ##############################
所以我正在尝试使用 QT Creator 创建一个 dll。我去了new project -> libary -> C++ libary -> choose .它自动生成一个头文件 global前缀和
我遇到了一个类似于帖子的奇怪的 stackoverflow 崩溃: here QMutex 试图递归地 self 锁定然后导致崩溃...调用栈是这样的: ...(mor
代码: class Text(QtGui.QLabel): def __init__(self,parent): QtGui.QLabel.__init__(self,pare
我想通过具有不同参数的相同函数检查多个 QtGui.QLineEdits 中的用户输入。我尝试了 QtCore.SignalMapper。这是我在测试应用程序中的代码: self.signal
我有 Windows 8.1 机器,安装了两个 Python 3.4.4 和 3.2.2在 python 3.4.4 中一切看起来都很好 Python 3.4.2 (v3.4.2:ab2c023a94
我是一名优秀的程序员,十分优秀!