首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否在PyQ5中不更改QLabel文本?

是否在PyQ5中不更改QLabel文本?
EN

Stack Overflow用户
提问于 2021-06-12 01:10:41
回答 1查看 32关注 0票数 1

我在QLineEdit的textChanged.connect()函数块中使用了这段代码。如果文本框的长度大于1,则所有标签都将显示相关且正确的数据,但如果文本框的长度等于0(通过按backspace清除文本框文本),则不会发生任何事情。我注意到屏幕上的"Enter block“和"End Block”消息(打印语句)。所有标签文本均保留为空。也可以尝试使用adjustSize(),show(),resize()。

代码语言:javascript
运行
复制
if len(self.textbox_search.text()) >= 1:
    self.label_master_count.setText(str(len(self.listbox_master)))
    self.label_starts_count.setText(str(len(self.item_startswith)))
    self.label_contains_count.setText(str(len(self.item_contains)))
    self.label_ends_count.setText(str(len(self.item_endswith)))
else:
    print("Enter Blocks")
    
    self.label_starts_count.setText("9999")
    self.label_starts_count.adjustSize()
    self.label_starts_count.show()
    self.label_contains_count.setText("...")
    self.label_ends_count.setText("...")

    print("End blocks")
EN

回答 1

Stack Overflow用户

发布于 2021-10-17 11:45:58

我真的不能从你的代码片段中理解很多东西,看看这里关于如何在上面发布问题:

How do I ask a good question? 和所包含的代码恰好足以让其他人重现该问题。要获得这方面的帮助,请阅读How to create a Minimal, Complete, and Verifiable example.

我试着重现你的问题,看一下我的代码,看看它的行为是否和你的一样(错误与否)。让我知道吧,我也在努力学习

代码语言:javascript
运行
复制
from PyQt5 import QtWidgets, QtCore

# from PyQt5 import QtCore, QtGui

import sys
  
  
class Window(QtWidgets.QMainWindow):
  
    def __init__(self):
        super().__init__()
        self.setWindowTitle("PyQt5 QMainWindow ")

        self.setGeometry(100, 100, 500, 400)
        
        self.setStyleSheet("""Window {background : blue}""")
        

        self.lineEdit = QtWidgets.QLineEdit(self)
        self.lineEdit.setGeometry(QtCore.QRect(140, 60, 181, 71))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit.setPlaceholderText("   Enter your text")
        
        self.label = QtWidgets.QLabel(self)
        self.label.setGeometry(QtCore.QRect(200, 200, 111, 41))
        self.label.setObjectName("label")
        self.label.setText('label')
        
        self.lineEdit.textChanged.connect(self.text_changed)
        
        self.lineEdit.editingFinished.connect(self.enterPress)
        
        
        self.pb = QtWidgets.QPushButton(self)
        self.pb.setObjectName("connect")
        self.pb.setText("RESET")
        self.pb.clicked.connect(self.button_click)
        self.pb.setGeometry(QtCore.QRect(160, 300, 111, 41))
        self.pb.setStyleSheet("background-color : yellow")
        # self.pb.setStyleSheet("background-color : yellow")
        self.pb.setStyleSheet("""
        QPushButton {
            background-color: yellow; 
            border: 2px solid black;
        }
        QPushButton:hover {
            background-color: green;
        }
        """)
        
        self.cnt = 0
        self.reset = False
        
    def text_changed(self, text):

        
        self.cnt = len(self.lineEdit.text()) 
        if len(self.lineEdit.text()) >= 1:
            print("Text changed...", self.cnt)
            print('...')
            self.cnt += 1
        else:
            if self.reset == True:
                self.reset = False
                self.label.setText("label")
                self.setStyleSheet("""Window {background : blue}""")
            
            else:
                self.lineEdit.setText('cleared text')
                self.label.setText("9999")
                self.setStyleSheet("""Window {background : red}""")
        
    def enterPress(self):
        print("Text is now ...")
        self.text= self.lineEdit.text()
        print('  --> ', self.text)
        # print(len(self.lineEdit.text()))
        
    def button_click(self):
        self.reset = True
        self.lineEdit.setText(None)
        



if __name__ == "__main__":
    
    app = QtWidgets.QApplication(sys.argv)

    window = Window()
    window.show()
    
    sys.exit(app.exec_())

在我的代码中,QLineEdit开始时是空的,您可以在它到达len == 0时写入,它下面的标签会更改文本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67941012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档