【发布时间】:2018-03-09 17:12:49
【问题描述】:
是否可以删除使用.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_())
【问题讨论】:
-
并非所有小部件样式都会绘制分隔符。你在什么平台上,
QApplication.style().objectName()的输出是什么? -
输出是windowsvista,我目前正在Windows 10下开发。
-
如果你使用默认状态栏而不是设置一个新状态栏有什么不同吗?可能不会,但最好排除它。
-
@ekhumoro 没有使用默认状态栏进行更改。
-
stylesheet examples 建议可以将状态栏项目的边框设置为零。但我自己无法测试它,所以我不知道这是否可行。如果没有,可能需要重新实现
QStatusBar的绘制事件。
标签: python python-3.x pyqt pyqt5 qstatusbar