Venot Asked:2020-04-22 03:54:39 +0000 UTC2020-04-22 03:54:39 +0000 UTC 2020-04-22 03:54:39 +0000 UTC pyqt5如何在字符串中保留空格 772 小部件QTextEdit,我添加了文本,它会占用所有空间。我有一个表格类型的字符串,我需要在单词之间留下все пробелы,但它只留下1。 python 1 个回答 Voted Best Answer S. Nick 2020-04-22T04:11:05Z2020-04-22T04:11:05Z 安装QFont("Consolas", ...) import sys from PyQt5 import QtGui, QtWidgets, QtCore from PyQt5.Qt import * class StackedExample(QWidget): # StackedExample def __init__(self): super().__init__() self.leftlist = QListWidget() self.do_leftbar() self.stack1 = QWidget() self.stack2 = QWidget() self.stack1UI() self.stack2UI() self.Stack = QStackedWidget(self) self.Stack.addWidget(self.stack1) # возвращает индекс виджета addWidget self.Stack.addWidget(self.stack2) hbox = QHBoxLayout(self) # расположение макета hbox.addWidget(self.leftlist) hbox.addWidget(self.Stack) self.setLayout(hbox) self.leftlist.currentRowChanged.connect(self.display) self.button.clicked.connect(self.gooo) self.setGeometry(100, 100, 500, 500) self.setWindowTitle('StackedWidget demo') def do_leftbar(self): # insertItem(позиция в списке, текст) self.leftlist.insertItem(0, 'Сравнение справочников') self.leftlist.insertItem(1, 'Редактирование справочников') # self.leftlist.insertItem(2, 'Будущий функционал') def gooo(self): if(self.L1.isChecked()): text = "12 5 90" # <<<=======< elif (self.L2.isChecked()): text = " 3 5 0" # <<<=======< elif (self.L3.isChecked()): text = "1 0" # <<<=======< else: text = "1234567890" # <<<=======< self.textEdit.append(text) def stack1UI(self): label = QLabel("select") self.L1 = QRadioButton("L1") self.L2 = QRadioButton("L2") self.L3 = QRadioButton("L3") face = QHBoxLayout() face.addWidget(label) face.addWidget(self.L1) face.addWidget(self.L2) face.addWidget(self.L3) self.button = QPushButton("GO") self.textEdit = QTextEdit() self.textEdit.setReadOnly(True) # + font = QFont("Consolas", 14, QFont.Bold) # <<<=======< self.textEdit.setFont(font) # <<<=======< layout = QVBoxLayout() layout.addLayout(face) layout.addWidget(self.button) layout.addWidget(self.textEdit) self.stack1.setLayout(layout) def stack2UI(self): layout = QFormLayout() self.stack2.setLayout(layout) def display(self,i): print(i) self.textEdit.append(f'currentRowChanged -> {i}') self.Stack.setCurrentIndex(i) if __name__ == '__main__': app = QApplication(sys.argv) app.setFont(QFont("Times", 12, QFont.Bold)) demo = StackedExample() demo.resize(600, 400) demo.show() sys.exit(app.exec_()) 更新 作为一种选择。替换пробел为 import sys from PyQt5 import QtGui, QtWidgets, QtCore from PyQt5.Qt import * class StackedExample(QWidget): # StackedExample def __init__(self): super().__init__() self.leftlist = QListWidget() self.do_leftbar() self.stack1 = QWidget() self.stack2 = QWidget() self.stack1UI() self.stack2UI() self.Stack = QStackedWidget(self) self.Stack.addWidget(self.stack1) # возвращает индекс виджета addWidget self.Stack.addWidget(self.stack2) hbox = QHBoxLayout(self) # расположение макета hbox.addWidget(self.leftlist) hbox.addWidget(self.Stack) self.setLayout(hbox) self.leftlist.currentRowChanged.connect(self.display) self.button.clicked.connect(self.gooo) self.setGeometry(100, 100, 500, 500) self.setWindowTitle('StackedWidget demo') def do_leftbar(self): # insertItem(позиция в списке, текст) self.leftlist.insertItem(0, 'Сравнение справочников') self.leftlist.insertItem(1, 'Редактирование справочников') # self.leftlist.insertItem(2, 'Будущий функционал') def gooo(self): if(self.L1.isChecked()): text = "<span style='color:red;'>12 5 90</span>" # <<<=======< elif (self.L2.isChecked()): text = "<font color='red'> 3 5 0</font>" # <<<=======< elif (self.L3.isChecked()): text = "<font color='blue'>1 0</font>" # <<<=======< else: text = "1234567890" # <<<=======< self.textEdit.append(text) def stack1UI(self): label = QLabel("select") self.L1 = QRadioButton("L1") self.L2 = QRadioButton("L2") self.L3 = QRadioButton("L3") face = QHBoxLayout() face.addWidget(label) face.addWidget(self.L1) face.addWidget(self.L2) face.addWidget(self.L3) self.button = QPushButton("GO") self.textEdit = QTextEdit() self.textEdit.setReadOnly(True) # + font = QFont("Consolas", 14, QFont.Bold) # <<<=======< self.textEdit.setFont(font) # <<<=======< layout = QVBoxLayout() layout.addLayout(face) layout.addWidget(self.button) layout.addWidget(self.textEdit) self.stack1.setLayout(layout) def stack2UI(self): layout = QFormLayout() self.stack2.setLayout(layout) def display(self,i): print(i) self.textEdit.append(f'currentRowChanged -> {i}') self.Stack.setCurrentIndex(i) if __name__ == '__main__': app = QApplication(sys.argv) app.setFont(QFont("Times", 12, QFont.Bold)) demo = StackedExample() demo.resize(600, 400) demo.show() sys.exit(app.exec_())
安装
QFont("Consolas", ...)更新
作为一种选择。替换
пробел为