signals-slots相关内容
我正在使用 Qt Creator. 我正在使用信号和槽编辑器,我想查看它生成的代码. 如何查看代码? 谢谢! 解决方案 假设您在 Qt Creator 中有一个名为 widget.ui 的表单文件. 编译项目后,您将在项目文件夹中找到一个名为 ui_widget.h 的文件. 如果你打开它,你会看到由 uic 工具.
..
问题是每次我从主窗口启动“设置"窗口时,我都会在 Qt Creator 中不断收到“没有这样的插槽"运行时错误.到目前为止,我发现 Qt 非常违反直觉,而且这个 slot 'n 信号的概念似乎与简单地传递变量或函数调用有点牵强.基本上,我有一个带有设置选项的菜单,单击该选项时会打开一个设置窗口,该窗口需要从用户那里获取一个 double 并在主窗口中更新一个 var. 设置窗口.h cla
..
我根据新的连接语法在Qt5中使用了以下语法,以避免插槽和信号的类型不匹配对于带有可检查项的 QListWidget. connect(item, &QListWidget::itemChanged,this, &mainWindow::checkItemChanged); 我想运行我的插槽,以防任何列表项更改其状态.为此,由于 this answer,我使用了 itemChanged 信号,但
..
希望我的第一个问题正确地遵循了指南.我正在尝试使用 MVC 结构创建一个 GUI.我很难理解为什么控制器并不总是接收我的信号.我知道我缺少一些简单的东西.我正在从一个简单的计算器中附加代码,我用作指南.我删除了大部分功能以尽可能地简化它.现在只有 3 个原始按钮和我自己的按钮.为了调试,我只是在按下按钮时打印出按钮上的值. 导入系统# 从 PyQt5.QtWidgets 导入 QApplicat
..
我有一个调用可执行文件的 pyside 应用程序.我想在 n 个进程中异步运行这个可执行文件,并在 QTextEdit 中捕获每个进程的输出. 目前我有: def run(self, args, worklist):self.viewer = OutputDialog(self)self.procs = []对于工作列表中的路径:final_args = args + 路径p = QtCo
..
我正在阅读“使用 Python 和 Qt 进行快速 GUI 编程"这本书,并且在信号/插槽项目上遇到了问题.我已经下载了作者的代码来与我自己的代码进行比较,看起来都一样,但是,当我从派生的旋转框类发出信号时,python 只是崩溃了.这是我拥有的完整代码: 导入系统从 PySide.QtCore 导入 *从 PySide.QtGui 导入 *类 ZeroSpinBox(QSpinBox):零 =
..
我在 PySide python Qt 程序中无法正确使用信号.我想发出一个信号,该信号采用自定义 python 类型的单个参数.文档说 可以使用 QtCore.signal() 类定义信号.Python 类型和 C 类型可以作为参数传递给它. 所以我尝试了以下方法: from PySide import QtCore从 PySide.QtCore 导入 QObjectFoo类:经过
..
Pyside 文档 指出插槽可以有返回值,但我还没有弄清楚如何让它这样做. 我找不到任何可用的代码示例,所以我按照文档的建议添加了一个装饰器: def testSlot(self):print('testSlot 被调用')return '返回值返回值返回值' 我正在尝试像这样捕获返回值: ret = foo.testSignal.emit() 但它不起作用.我的测试代码,你可以在这
..
这是视频教程中的示例: #!/usr/bin/env python3导入系统从 PySide.QtCore 导入 *从 PySide.QtGui 导入 *类 ZeroSpinBox(QSpinBox):零 = 0def __init__(self):super().__init__()self.valueChanged.connect(self.checkzero)def checkzero(s
..
这是我在qt5设计器中制作的一个类.当我点击按钮时,插槽被调用两次. class CustomerList(QWidget, Ui_CustomerList):def __init__(self, parent=None):QWidget.__init__(self, parent)self.setupUi(self)self.buttX.clicked.connect(self.on_butt
..
我是 PyQt5 的初学者,请原谅我的无知 我正在尝试将按钮与我定义的功能连接 导入系统从 PyQt5 导入 QtGui、QtWidgets、uicdef PrintSomething():打印(“你好世界")如果 __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)window = uic.loadUi("Auto.ui"
..
python 中有单例类: from PyQt5.QtCore import QObject, pyqtSignal导入日志类单例(QObject):_instance = 无def __new__(cls, *args, **kwargs):如果不是 isinstance(cls._instance, cls):cls._instance = QObject.__new__(cls, *arg
..
好的,几乎每个教程/可理解的人类语言文档都是针对 PyQt4 的.但是,PyQt5 改变了整个“连接按钮到插槽"的工作方式,我仍然不知道如何去做. 我在 QtDesigner 中做了一个快速的 gui,我有一个 QPushButton 和一个标签.当我单击按钮时,我希望标签上的文本发生变化.在 QtDesigner 中的 C++ 中,很容易将两者连接起来.但是我必须全部用python编写.
..
背景 我正在使用信号在 PyQt5 中实现 MVC.一个程序中有多个接口.每个页面都有一个对应的控制器,最后所有的控制器组合在一起. 问题 我的问题是:我在四个不同的地方实现了相同的slot函数,但是为什么Signal不能连接外部类中的slot? 这是目录树: 错误├─ 界面│ └─ main_window.py├─ 控制│ ├─ 控制器.py│ └─ login_con
..
因此,我可以看到使用 PyQt4 创建样式信号的唯一方法如下: class MyCustomClass(QtCore.QThread):custom_signal = QtCore.pyqtSignal(str) 我的问题是,如果我在其他任何地方声明该信号,pyqt 就会向我抛出一个关于 custom_signal 没有 connect() 函数的错误. 当我想做一些简单的事情时,我想创
..
假设您在一个类中有 3 个 QRadioButtons 实例 self.Option1 = QRadioButton()self.Option2 = QRadioButton()self.Option2 = QRadioButton() (为简洁起见,我没有编写整个脚本)并且您希望在用户单击时使用它们来执行特定功能,因此您可以这样做 self.connect(self.Option1,SIG
..
我想使用自动连接功能.我正在使用这个例子: http://www.eurion.net/python-snippets/snippet/Connecting%20signals%20and%20slots.html 它有效,但我想创建自己的信号和插槽,示例使用内置信号. 例如,这里有一个带有自定义槽的自定义信号,但不起作用: 导入系统从 PyQt4 导入 QtGui、QtCor
..
我目前正在尝试将旧的 Python 程序从 Python 2 转换为 Python 3,并从 PyQt4 更新为 PyQt5.该应用程序使用 PyQt5 不支持的旧式信号和插槽.我已经弄清楚了大部分需要做的事情,但下面是我似乎无法开始工作的几行: self.emit(SIGNAL('currentChanged'), row, col)self.emit(SIGNAL("activated(co
..
我正在设计一个自定义小部件,它基本上是一个 QGroupBox,其中包含可配置数量的 QCheckBox 按钮,其中每个按钮都应控制表示的位掩码中的特定位通过 QBitArray.为了做到这一点,我将 QCheckBox 实例添加到了 QButtonGroup,每个按钮都有一个整数 ID: def populate(self, num_bits, parent = None):"""根据位掩码
..
我做了多选QComboBox.项目是可检查的(每个项目都有复选框和文本值).CheckBox 仅在用户单击时才被选中.我想要的是在用户单击文本值时捕捉信号,以便我可以将旁边的复选框设置为选中状态.如何做到这一点? 这是我将模型设置为组合框的方式: areas = [“区域一"、“区域二"、“区域三"、“区域四"]模型 = QtGui.QStandardItemModel(5, 1)# 5
..