Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt5状态栏分隔符_Python_Python 3.x_Pyqt_Pyqt5 - Fatal编程技术网

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_())