Форум сайта python.su
Привет. Появилась такая проблема. Когда в цикле хочу установить значение в QLineEdit c помощью setText(), то значение по ходу цикла не устанавливаются, а устанавливается только по завершении цикла последнее значение, а во время выполнения цикла окно остается пустым. Как исправить ?
Офлайн
alemeor
код покажите
Офлайн
FishHook, Примерно так
from PyQt5.QtWidgets import QTextEdit, QApplication,QListWidget, QWidget, QPushButton, QToolTip, QMessageBox, QLineEdit, QLabel, QGridLayout, QInputDialog from PyQt5.QtGui import QFont from PyQt5.QtCore import QCoreApplication from PyQt5 import QtCore, QtGui, QtWidgets import time class Window(QtWidgets.QMainWindow): def __init__(self): QtWidgets.QMainWindow.__init__(self) self.setupUi(self) def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(574, 311) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.returnt = QtWidgets.QLineEdit(self.centralwidget) self.returnt.setGeometry(QtCore.QRect(180, 110, 171, 41)) self.returnt.setObjectName("returnt") self.beg = QtWidgets.QPushButton(self.centralwidget) self.beg.setGeometry(QtCore.QRect(410, 210, 75, 23)) self.beg.setObjectName("beg") self.beg.clicked.connect(self.buttonClicked) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 574, 21)) 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) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.beg.setText(_translate("MainWindow", "Начать")) def buttonClicked(self): for i in range(5): self.returnt.setText(str(i)) time.sleep(1) app = QtWidgets.QApplication(sys.argv) ex = Window() ex.show() sys.exit(app.exec_())
Отредактировано alemeor (Дек. 25, 2017 13:40:17)
Офлайн
def buttonClicked(self): for i in range(5): self.returnt.setText(str(i)) time.sleep(1) self.returnt.repaint()
Офлайн
chewey
Спасибо
Офлайн
chewey
Теперь появилась другая проблема. В течение цикла окно не работает т.е. я нажал кнопку начать, запустил цикл, значения меняются, но я не могу выполнять другие действия над окном(например переместить или свернуть), окно сразу зависает, а программа продолжает работать
Офлайн