有没有使用Qt Designer在QStatusBar中嵌入QLabel的解决方案?
是否可以删除使用添加到状态栏的两个小部件之间的分隔线.addPermanentWidget()
?我怀疑这是可能的,但我还没有真正找到任何关于如何进行的文献。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
statusBar = QStatusBar()
self.setStatusBar(statusBar)
statusBar.addPermanentWidget(QLabel("Label: "))
statusBar.addPermanentWidget(QLabel("Data"))
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
如何在 QStatusBar 中居中对齐文本?默认情况下,它始终左对齐。
我知道我可以添加 QLabel 并设置对齐方式,但我想使用纯文本和 .showMessage(QString, int) 方法,因此我可以添加超时值。
我正在使用Qt和Python,我有一个主窗口,底部有状态栏.我可以使用QLabel在栏中显示消息,并使用类似于"<font color=\"green\">In progress</font>"
QLabel文本的内容设置该消息的颜色.
我还想在状态栏中添加一条临时消息,并为该消息指定一种颜色.但是因为这次不是QLabel(我使用的是QStatusBar :: showMessage只需要一个QString)我不能再改变颜色了.上面的标签无法识别,整个字符串"<font color=\"green\">In progress</font>"
显示为灰色.
有没有人有任何想法?
我需要对在 Qt5.5 应用程序的状态栏中闪烁的消息进行颜色编码。
我正在像这样使用 showMessage:
ui->statusBar->showMessage("My Message", 5000);
Run Code Online (Sandbox Code Playgroud)
我想更改单个消息的颜色。我发现除了子类化 QStatusBar 和覆盖 showMessage() 之外,别无他法。我真的需要这种侵入性的改变吗?
我尝试使用富文本:
ui->statusBar->showMessage(QString("<html><head/><body><p style=\"color:red\">%1</p></body></html>").arg("My Message"));
Run Code Online (Sandbox Code Playgroud)
但它似乎没有被识别(打印标签)。
更改调色板或设置样式表将不限于当前消息。
我还能尝试什么?
qstatusbar ×5
qt ×4
python ×2
alignment ×1
colors ×1
label ×1
message ×1
pyqt ×1
pyqt5 ×1
python-3.x ×1
qt-creator ×1
qt-designer ×1