Ich löste dieses Problem mit einem Timer, überprüfen Sie es. Kümmern Sie sich nicht um die Module, die ich importierte, zu faul, um nutzlose zu löschen.
from PyQt5.QtWidgets import (QMessageBox,QApplication, QWidget, QToolTip, QPushButton,
QDesktopWidget, QMainWindow, QAction, qApp, QToolBar, QVBoxLayout,
QComboBox,QLabel,QLineEdit,QGridLayout,QMenuBar,QMenu,QStatusBar,
QTextEdit,QDialog,QFrame,QProgressBar,QHBoxLayout,QGraphicsDropShadowEffect,
QCheckBox
)
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtGui import QIcon,QFont,QPixmap,QPalette,QWindow
from PyQt5.QtCore import QCoreApplication, Qt,QBasicTimer, QTimer,QPoint,QSize
import PyQt5.QtWidgets,PyQt5.QtCore
class Settings(QMainWindow):
def __init__(self):
super().__init__()
self.set_widget = QMainWindow(self)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
#size
self.setFixedSize(900,423)
#line
self.line_edit = QLineEdit(self)
self.line_edit.setGeometry(100,100,400,35)
self.line_edit.setStyleSheet("color: white;"
"background-color: rgb(0,0,0);"
"border: 1px solid white;"
"border-radius: 10px;"
"font: bold 15pt 'Comic Sans MS'")
self.timer26 = QTimer(self)
self.timer26.timeout.connect(self.timergo)
self.timer26.start(90)
self.cnt = 0
self.lst = ""
def timergo(self):
text = "I'm a text has interval between the letters"
try:
self.lst += text[self.cnt]
self.line_edit.setText("".join(str(self.lst[::])))
self.cnt+=1
except:
print ("index error")
#or just pass
self.show()
app1 = QApplication(sys.argv)
app1.setStyleSheet("QMainWindow{background-color: rgb(0,0,0);border: 2px solid rgb(20,20,20)}")
ex1 = Settings()
sys.exit(app1.exec_())
Dies sollte mit einem Timer relativ einfach sein. Zwischenspeichern Sie die letzte Textzeichenfolge und eine ganze Zahl, die die Position in der Zeichenfolge darstellt. Jedes Mal, wenn der Timer ausgelöst wird, fügen Sie ein weiteres Zeichen hinzu. –
@JonHarper könnten Sie bitte ein funktionierendes Beispiel zeigen? – GLHF