在PyQt4中更新状态栏遇到问题

0 投票
1 回答
4397 浏览
提问于 2025-04-16 15:49

我刚接触PyQt4,想让我的程序在不同的时间在状态栏上显示不同的信息,但我总是无法让任何文字显示出来。

这个图形界面是用Qt Designer设计的,生成的文件是通过pyuic得到的,里面有:

self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)

在setupUI函数里面。

当我调用 self.ui.statusBar.showMessage('Ready') 时,它返回:

AttributeError: 'builtin_function_or_method' object has no attribute 'showMessage'

但是当我调用:

    self.ui.statusBar().showMessage('Ready')

我没有收到错误信息,但状态栏还是空着,没有显示“Ready”。

有没有人能告诉我我哪里做错了或者缺少了什么?

谢谢!

1 个回答

4

你没有正确调用状态栏。
self.statusBar.showMessage('Ready') 这行代码中,你是在调用状态栏的方法中的显示消息功能。
你应该使用 self.statusBar().showMessage('Ready'),这样才能正确获取状态栏并调用它的显示消息功能。

撰写回答