Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 24, 2017 20:39:26

alemeor
Зарегистрирован: 2017-12-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

setText в pyqt5

Привет. Появилась такая проблема. Когда в цикле хочу установить значение в QLineEdit c помощью setText(), то значение по ходу цикла не устанавливаются, а устанавливается только по завершении цикла последнее значение, а во время выполнения цикла окно остается пустым. Как исправить ?

Офлайн

#2 Дек. 25, 2017 04:55:45

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

setText в pyqt5

alemeor
код покажите



Офлайн

#3 Дек. 25, 2017 13:11:35

alemeor
Зарегистрирован: 2017-12-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

setText в pyqt5

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)

Офлайн

#4 Дек. 25, 2017 14:21:23

chewey
Зарегистрирован: 2016-02-03
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

setText в pyqt5

     def buttonClicked(self):
        for i in range(5):
            self.returnt.setText(str(i))
            time.sleep(1)
            self.returnt.repaint()

Офлайн

#5 Дек. 25, 2017 15:54:34

alemeor
Зарегистрирован: 2017-12-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

setText в pyqt5

chewey
Спасибо

Офлайн

#6 Дек. 25, 2017 18:29:50

alemeor
Зарегистрирован: 2017-12-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

setText в pyqt5

chewey
Теперь появилась другая проблема. В течение цикла окно не работает т.е. я нажал кнопку начать, запустил цикл, значения меняются, но я не могу выполнять другие действия над окном(например переместить или свернуть), окно сразу зависает, а программа продолжает работать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version