QStatusBar :: showMessage (const QString & message, int timeout = 0)
Скрывает показания нормального состояния и отображает данное сообщение в течение указанного количества миллисекунд (время ожидания). Если время ожидания равно 0 (по умолчанию), сообщение будет отображаться до тех пор, пока не будет вызван слот clearMessage () или пока не будет вызван слот showMessage () для изменения сообщения.
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QMainWindow
from PyQt5.QtGui import QIcon
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title='Hello, world!'
self.left=10
self.top=10
self.width=640
self.height=480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left,self.top,self.width,self.height)
self.statusBar().showMessage('In progress', 5000) # <<<---
self.show()
if __name__=='__main__':
app=QApplication(sys.argv)
ex=App()
sys.exit(app.exec_())
Обновление
Я хочу скрыть строку состояния через 5 секунд.
void QTimer :: singleShot (int mse c, const QObject * receive, const char * member)
Эта функция stati c вызывает слот через заданный интервал времени.
Очень удобно использовать эту функцию, потому что вам не нужно беспокоиться о timerEvent или создавать локальный объект QTimer.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QStatusBar
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QTimer
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title='Hello, world!'
self.setStyleSheet('background: #ff0;')
self.left=10
self.top=10
self.width=640
self.height=480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left,self.top,self.width,self.height)
# self.statusBar().showMessage('In progress', 5000)
self.main_statusbar = QStatusBar()
self.main_statusbar.setStyleSheet('background: #f00;')
self.main_statusbar.showMessage('In progress')
self.setStatusBar(self.main_statusbar)
QTimer.singleShot(5000, self.main_statusbar.hide) # <<<-----
if __name__=='__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())