Quantcast
Channel: Preguntas activas con las etiquetas pyqt - Stack Overflow en español
Viewing all articles
Browse latest Browse all 77

Problema con mostrar texto en un label al pulsar botón

$
0
0

Se pulsa un QPushButton y sale en un label texto. Pues el problema es que el texto sale solo si cambio el tamaño de la ventana. En cambio si hago lo mismo con un Checkbox sale el texto inmediatamente, ¿Por qué? ¿Qué puedo hacer?

from PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import * #QApplication, QWidget, QPushButton, QLabel, QToolTip, QAbstractButton,QDateTimeEdit,QDateEdit,QTimeEditfrom PyQt5.QtGui import *from PyQt5.QtCore import *class Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(582, 456)        self.centralwidget = QtWidgets.QWidget(MainWindow)        self.centralwidget.setObjectName("centralwidget")        self.label1 = QtWidgets.QLabel(self.centralwidget)        self.label1.setEnabled(True)        self.label1.setGeometry(QtCore.QRect(20, 12, 291, 91))        self.label1.setText("")        self.label1.setObjectName("label1")        self.pushButton1 = QtWidgets.QPushButton(self.centralwidget)        self.pushButton1.setGeometry(QtCore.QRect(144, 180, 112, 32))        self.pushButton1.setObjectName("pushButton1")        self.pushButton2 = QtWidgets.QPushButton(self.centralwidget)        self.pushButton2.setGeometry(QtCore.QRect(30, 180, 112, 32))        self.pushButton2.setObjectName("pushButton2")        self.checkBox1 = QtWidgets.QCheckBox(self.centralwidget)        self.checkBox1.setGeometry(QtCore.QRect(10, 130, 86, 20))        self.checkBox1.setObjectName("checkBox1")        self.lcdNumber1 = QtWidgets.QLCDNumber(self.centralwidget)        self.lcdNumber1.setGeometry(QtCore.QRect(110, 220, 64, 23))        self.lcdNumber1.setObjectName("lcdNumber1")        self.lineEdit1 = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit1.setGeometry(QtCore.QRect(150, 130, 113, 21))        self.lineEdit1.setObjectName("lineEdit1")        self.horizontalSlider1 = QtWidgets.QSlider(self.centralwidget)        self.horizontalSlider1.setGeometry(QtCore.QRect(50, 270, 160, 22))        self.horizontalSlider1.setMaximum(100)        self.horizontalSlider1.setOrientation(QtCore.Qt.Horizontal)        self.horizontalSlider1.setObjectName("horizontalSlider1")        self.dateTimeEdit = QtWidgets.QDateTimeEdit(self.centralwidget)        self.dateTimeEdit.setGeometry(QtCore.QRect(340, 180, 194, 22))        self.dateTimeEdit.setObjectName("dateTimeEdit")        self.pushButtonTime = QtWidgets.QPushButton(self.centralwidget)        self.pushButtonTime.setGeometry(QtCore.QRect(340, 230, 112, 32))        self.pushButtonTime.setObjectName("pushButtonTime")        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtWidgets.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 582, 22))        self.menubar.setObjectName("menubar")        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtWidgets.QStatusBar(MainWindow)        self.statusbar.setObjectName("statusbar")        MainWindow.setStatusBar(self.statusbar)        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)        self.pushButton1.clicked.connect(self.printButtonPressed) # PASA con este Boton por ejemplo!        self.pushButton2.clicked.connect(QtCore.QCoreApplication.instance().quit)# Pushbutton Exit        self.pushButtonTime.clicked.connect(self.settingDateTime) [font="JetBrains Mono", monospace]# PASA con este Boton por ejemplo![/font]        self.checkBox1.clicked.connect(self.checkboxChanged)        self.lineEdit1.textChanged.connect(self.textChanged) # De esta forma se hace dinamico el cambio de Texto        self.horizontalSlider1.valueChanged.connect(self.LCDBox)        self.dateTimeEdit.dateTimeChanged.connect(self.settingDateTime)    def retranslateUi(self, MainWindow):        _translate = QtCore.QCoreApplication.translate        MainWindow.setWindowTitle(_translate("MainWindow", "Testing bench"))        self.pushButton2.setText(_translate("MainWindow", "Exit"))        self.pushButton1.setText(_translate("MainWindow", "Push Me!"))        self.checkBox1.setText(_translate("MainWindow", "CheckBox"))        self.pushButtonTime.setText(_translate("MainWindow", "Date and Time"))    def printButtonPressed(self): #Este método        # This is executed when the button is pressed        print('printButtonPressed')        self.label1.setText("")        self.label1.setText("Hello!!")    def checkboxChanged(self):        self.label1.setText("")        self.label1.setText("True" if self.checkBox1.checkState() else"False")    def LCDBox(self,event):        print(event)        self.lcdNumber1.display(event)    def textChanged(self,text):        #self.label1.setText(self.lineEdit1.text())  // Sino pongo en el parametro Text, tengo q poner self.lineEdit1.text()        self.label1.setText(text)    def settingDateTime(self):        act_Date = QtCore.QDate.currentDate()        act_Time = QtCore.QTime.currentTime()        act_DateTime = QtCore.QDateTime.currentDateTime()        In_Date = self.dateTimeEdit.date()        In_Time = self.dateTimeEdit.time()        #xmas2 = QtCore.QDate(2020,12,24)        xmas2 = QtCore.QDate(In_Date)        print("1)" +" " + act_Date.toString() +" " + act_Time.toString())        print("2)" +" " + act_Date.toString(Qt.ISODate))        print("3)" +" " + act_DateTime.toString(Qt.DefaultLocaleLongDate))        nofdays = act_Date.daysTo(xmas2)        print("4)" +" " + f"There are {nofdays} days until next Xmas")        self.label1.setText("4)" +" " + f"There are {nofdays} days until next Xmas")if __name__ == "__main__":    import sys    app = QtWidgets.QApplication(sys.argv)    MainWindow = QtWidgets.QMainWindow()    ui = Ui_MainWindow()    ui.setupUi(MainWindow)    MainWindow.show()    sys.exit(app.exec_())

Viewing all articles
Browse latest Browse all 77

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>