Python PyQt5状态栏分隔符
如何将垂直分隔符添加到状态栏Python PyQt5状态栏分隔符,python,python-3.x,pyqt,pyqt5,Python,Python 3.x,Pyqt,Pyqt5,如何将垂直分隔符添加到状态栏 (红色箭头)在此屏幕截图中 如果我成功,我如何显示所选的行和列 (蓝色箭头)在同一屏幕截图中 那是windows的 void QStatusBar::addPermanentWidget(QWidget*widget,int-stretch=0) 将给定的小部件永久添加到此状态栏,如果它不是此QStatusBar对象的子对象,则重新租用该小部件。随着状态栏的增长和收缩,拉伸参数用于计算给定小部件的合适大小。默认拉伸因子为0,即为小部件提供最小的空间 导入系统 从P
(红色箭头)
在此屏幕截图中
如果我成功,我如何显示所选的行
和列
(蓝色箭头)
在同一屏幕截图中
那是windows的
void QStatusBar::addPermanentWidget(QWidget*widget,int-stretch=0)
将给定的小部件永久添加到此状态栏,如果它不是此QStatusBar对象的子对象,则重新租用该小部件。随着状态栏的增长和收缩,拉伸参数用于计算给定小部件的合适大小。默认拉伸因子为0,即为小部件提供最小的空间
导入系统
从PyQt5.qtwidts导入(QApplication、QMainWindow、QStatusBar、QLabel、,
QPushButton,QFrame)
等级VLine(QFrame):
#一条简单的线,就像你从设计师那里得到的一样
定义初始化(自):
super(VLine,self)。\uuuu init\uuuuu()
self.setFrameShape(self.VLine | self.Sunken)
类主窗口(QMainWindow):
定义初始化(自):
super()。\uuuu init\uuuuu()
self.statusBar().showMessage(“bla-bla-bla”)
self.lbl1=QLabel(“标签:”)
self.lbl1.setStyleSheet('边框:0;颜色:蓝色;')
self.lbl2=QLabel(“数据:”)
self.lbl2.setStyleSheet('边框:0;颜色:红色;')
ed=QPushButton('状态栏文本')
self.statusBar().reformat())
self.statusBar().setStyleSheet('边框:0;背景色:#FFF8DC;')
self.statusBar().setStyleSheet(“QStatusBar::item{border:none;}”)
self.statusBar().addPermanentWidget(VLine())#您好,您正在尝试制作文本编辑器吗?然后,请至少显示您在状态栏中使用的当前代码。是的,我正在尝试制作文本编辑器。我使用了
self.statusBar()
。这个-它在PyQt4中,但只需将PyQt4
替换为PyQt5
,并从PyQt5添加。QtWidgets导入QMainWindow、QApplication、QTextEdit
也在第40行中,使其成为App=QApplication(sys.argv)
import sys
from PyQt5.QtWidgets import (QApplication, QMainWindow, QStatusBar, QLabel,
QPushButton, QFrame)
class VLine(QFrame):
# a simple VLine, like the one you get from designer
def __init__(self):
super(VLine, self).__init__()
self.setFrameShape(self.VLine|self.Sunken)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.statusBar().showMessage("bla-bla bla")
self.lbl1 = QLabel("Label: ")
self.lbl1.setStyleSheet('border: 0; color: blue;')
self.lbl2 = QLabel("Data : ")
self.lbl2.setStyleSheet('border: 0; color: red;')
ed = QPushButton('StatusBar text')
self.statusBar().reformat()
self.statusBar().setStyleSheet('border: 0; background-color: #FFF8DC;')
self.statusBar().setStyleSheet("QStatusBar::item {border: none;}")
self.statusBar().addPermanentWidget(VLine()) # <---
self.statusBar().addPermanentWidget(self.lbl1)
self.statusBar().addPermanentWidget(VLine()) # <---
self.statusBar().addPermanentWidget(self.lbl2)
self.statusBar().addPermanentWidget(VLine()) # <---
self.statusBar().addPermanentWidget(ed)
self.statusBar().addPermanentWidget(VLine()) # <---
self.lbl1.setText("Label: Hello")
self.lbl2.setText("Data : 15-09-2019")
ed.clicked.connect(lambda: self.statusBar().showMessage("Hello "))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())