我有一个程序,通过我在PyQt中编写的gui与我正在使用的收音机连接.显然,无线电的一个主要功能是传输数据,但为了不断地这样做,我必须循环写入,这会导致gui挂起.因为我从未处理过线程,所以我试图摆脱这些挂起使用QCoreApplication.processEvents().无线电需要在传输之间休眠,所以gui仍然根据这些睡眠的持续时间而挂起.
有没有一种简单的方法可以使用QThread来解决这个问题?我已经找到了有关如何使用PyQt实现多线程的教程,但是大多数都涉及设置服务器,并且比我需要的更先进.老实说,我甚至不需要我的线程在运行时更新任何东西,我只需要启动它,让它在后台传输,然后停止它.
有没有一种简单的方法可以在Windows中使用Python显示文件的属性对话框?
我正在尝试显示在资源管理器中右键单击文件时弹出的同一窗口,然后选择"属性".
我试图在我的QTableWidget中插入和显示整数.它们不显示.它可以工作,如果我将所有内容转换为字符串,但我不能用数字排序列 - 只有词法(1,10,100等).这是使用PyQt.
我已经尝试了一些建议的解决方案,使用QTableWidgetItem.setData(someRole,intValue),然后在所有显示中都没有.我试过,Qt.UserRole,DisplayRole和Edit Role.(我不明白为什么需要这些角色来显示整数,但只是按照例子).我的具体代码是:
item = QTableWidgetItem()
item.setData = (Qt.DisplayRole,intValue)
myTable.setItem(row, column, item)
Run Code Online (Sandbox Code Playgroud)
以下代码有效,但仅适用于字符串:
item = QTableWidgetItem(str(intValue))
myTable.setItem(row, column, item)
Run Code Online (Sandbox Code Playgroud)
此外,回读数据的建议,只显示对象位置,而不是实际数据.例如,使用Eric作为解释器shell:
item.data(Qt.DisplayRole)
响应:PyQt4.QtCore.QVariant对象位于0x1f01fa60
或这个:
item.data(Qt.EditRole).数据()
响应:sip.voidptr对象位于0x1e904a80
任何见解都表示赞赏.
我对PyQt和Python很新,所以希望这个问题有意义.
我有一个QTreeView,QListView和QTextEdit以类似列的形式彼此相邻设置.作为用户,我想说我想改变其中一列的宽度.我该如何实现这一目标?如果您是Maya的用户,想象一下paneLayout,这就是我想要实现的目标.
例:
[1][2][3]
[ 1 ][2][3]
[1][ 2 ][ 3 ]
Run Code Online (Sandbox Code Playgroud)
......而不仅仅是调整整个窗口的大小.我希望这是有道理的...!
感谢任何能提供帮助的人!