解决PyQt错误(QObject::startTimer: QTimer can only be used with threads started with QThread)_qt5 qobject::starttimer: timers can only be used w-程序员宅基地

技术标签: python  界面设计  解决方案  pyqt  

近日在PyQt使用Model时,发现如果Model创建时未设置Parent,则运行完退出时会报错:

QObject::startTimer: QTimer can only be used with threads started with QThread

  解决方法也很简单,创建Model时加上Parent即可。关于这个问题的原因及解决方案可以查看链接:PyQt QTimer problem {FIXED}。

测试代码如下:
  

#coding=utf-8
from PyQt4.QtCore import *
from PyQt4.QtGui import *

if __name__ == '__main__':

  import sys
  app = QApplication(sys.argv)

  table = QTableView()
  model = QStandardItemModel(3, 3)  # 改为 model = QStandardItemModel(3, 3, table) 即可避免错误
  table.setModel(model)

  model.setHorizontalHeaderLabels(['Name', 'Height', 'Weight'])
  model.setData(model.index(0, 0, QModelIndex()), QVariant(u'松鼠'))
  model.setData(model.index(0, 1, QModelIndex()), QVariant(u'80cm'))
  model.setData(model.index(0, 2, QModelIndex()), QVariant(u'12Kg'))
  model.setData(model.index(1, 0, QModelIndex()), QVariant(u'树袋熊'))

  table.setGeometry(80, 20, 400, 300)
  table.setWindowTitle('Grid + Table Testing')
  table.show()

  sys.exit(app.exec_())

转载于:http://dreamisx.blog.163.com/blog/static/115004839201291224117107/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012150360/article/details/78854425

智能推荐

云原生Kubernetes:简化K8S应用部署工具Helm_helm image build-程序员宅基地

文章浏览阅读1k次。HELM有点类似于 Ubuntu 中的 APT 或 CentOS 中的 YUM。Charts是创建 Kubernetes 应用实例的信息集合,也就是一个 helm 的程序包,它包含了运行一个 k8s 应用所有需要的镜像、依赖关系和资源定义等,必要时还会包含 Service 资源定义,它类似于 yum 的 rpm 文件。HELM v3版本与v2版本的架构变化1. 最大的改动就是移除了 Tiller 组件,所有功能都通过 Helm CLI 与 ApiServer 直接交互。_helm image build

一、antd简介-程序员宅基地

文章浏览阅读4.8w次,点赞6次,收藏35次。版本:v3.26.3react系列有一大堆的组件,可以在ant design官网的,社区精选组件里面看到一、简介antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 Ant Design:用空格分隔的首字母大写单词,指代设计语言。 antd:全小写,指代 React UI 组件库。 ant.design:特指 ant.design 网站网址。安装:npm install antd --save使用组._antd

Spring中事务与aop的先后顺序问题-程序员宅基地

文章浏览阅读406次。Spring中的事务是通过aop来实现的,当我们自己写aop拦截的时候,会遇到跟spring的事务aop执行的先后顺序问题,比如说动态切换数据源的问题,如果事务在前,数据源切换在后,会导致数据源切换失效,所以就用到了Order(排序)这个关键字. 我们可以通过在..._spring aop和事务顺序

vue 组件封装 按钮button 支持点击按钮带阴影效果和Loading加载效果_vue u-button 加阴影-程序员宅基地

文章浏览阅读7.4k次。一,子组件shadowButton<template> <!-- 此组件支持自定义按钮文字和自定义按钮图片 --> <button :style="{backgroundColor:btnBgc,color:btnColor,width:width,height:height,fontSize:fontSize,boxShadow:boxShado..._vue u-button 加阴影

hibernate查询时出现LazyInitializationException异常的解决办法_查询对象有hibernatelazyinitializer-程序员宅基地

文章浏览阅读403次。一般是访问的属性被代理,无法获取到对应的值,解决方式:重新获取该对象的持久化对象访问属性即可。 比如获取用户的用户组public List getUserGroups(User user) { List list = new ArrayList<>(); if(user != null) { try {_查询对象有hibernatelazyinitializer

使用Kaggle安装MxNet大无语事件流程记录【成功解决】_mxnet 12.1-程序员宅基地

文章浏览阅读200次。我在3月份的时候创建的notebook直接就使用了mxnet,不知道为什么最新5月份的版本就没有mxnet了,后来看了一下三月份的是cuda11.3,但是5月份已经是12.1了,和colab遇到的问题一样,找不到匹配的版本。在尝试几次之后发现可以按照上述博客中的方法安装任意11.x版本的mxnet ,但是低版本的会有警告,别的没有什么,不会出现像colab那样的报错_mxnet 12.1

随便推点

Could not open /dev/vmmon: No such file or directory. Please make sure that the kerne-程序员宅基地

文章浏览阅读5.2k次。启动虚拟机显示错误Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded.Failed to initialize monitor device.背景:Ubuntu16.04系统电脑上安装的vmware启动显示错误。..._could not open /dev/vmmon: no such file or directory. please make sure that

完美解决 matplotlib 对数上标负号乱码的问题_matplotlib负数对数轴-程序员宅基地

文章浏览阅读2.8k次,点赞11次,收藏16次。1.问题描述在matplotlib中显示中文标题时会出现乱码的问题,关于中文字体的调整见https://blog.csdn.net/txh3093/article/details/106858041但上述操作后仍然会在绘制对数图像时,对数刻度上标为负时的负号会出现乱码。本文将给出解决该问题的永久方案。2.解决方法最近发现有大佬在其他论坛中给出了解决方案,但讲述的有一点复杂,在此直接给出解决方案。通过everything软件搜索mathtext.py,一般在site-packages文_matplotlib负数对数轴

5.布局设计_布局包含设计吗-程序员宅基地

文章浏览阅读601次。在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计。java.awt中定义了多种布局类,每种布局类对应一种布局的策略。常用的有以下布局类:FlowLayout,依次放置组件。BoarderLayout,将组件放置在边界上。CardLayout,将组件像扑克牌一样叠放,而每次只能显示其中一个组件。GridLayout,将显示区域按行、列划分成一个个相等的_布局包含设计吗

《Python学习》--- 基础部分_python轮廓提取的数据怎么让他从右到左-程序员宅基地

文章浏览阅读264次。学习笔记1:《Python从实践到入门》一:基础知识1:起步_python轮廓提取的数据怎么让他从右到左

thrift连接池问题_tiostreamtransport.read(tiostreamtransport.java:12-程序员宅基地

文章浏览阅读4.8k次。项目中用到thrift调用搜索的一个接口。后来想每次都要创建连接,为什么不用个连接池。上线之后发现有问题,总是时不时的报错:2015-08-11 15:24:13 [ERROR][apiLogger:86]- error about transportorg.apache.thrift.transport.TTransportException: java.net.SocketExce_tiostreamtransport.read(tiostreamtransport.java:129)

技术领导力_技术领导力 总结-程序员宅基地

文章浏览阅读174次。啊啊_技术领导力 总结

推荐文章

热门文章

相关标签