在PyQt5中,我可以使用以下命令更改对象的光标:
Object.setCursor(QCursor(Qt.PointingHandCursor))
对于其他按钮,我使用这个类,但它不会更改QmessageBox
或Qfiledialog
中的光标:
如何更改QMessageBox
和QFileDialog
中所有按钮的光标?在
Messagebox方法示例
def onNotConnected(self):
err = QMessageBox.question(
self, DONGLE_NOT_CONN, DONGLE_NOT_CONN_MSG, QMessageBox.Ok | QMessageBox.Cancel)
if err == QMessageBox.Ok:
self.updating_thread(self.device_code)
else:
self.restart_program()
QMessageBox
和QFileDialog
具有{QWidget
。但在您的例子中,问题在于静态方法,因为您不能直接访问对象。在所以解决方案是利用这些静态方法的一个特殊特性:它们是顶级的,所以我们可以使用
QApplication.topLevelWidgets()
对其进行过滤,但另一个问题是它们阻塞了,所以没有什么可以同步执行,所以诀窍是使用QTimer
。在同样,在您的示例中,我们可以使用QMessageBox的父级过滤过滤器,可能的话,QFileDialog就是窗口。在
^{pr2}$相关问题 更多 >
编程相关推荐