我有一个代码,当单击“下一步”按钮时,文本会发生变化,我怎样才能让它保存以及下次出现更改的文本?我的代码:
import sys
from PyQt5 import QtWidgets, QtGui, QtCore, QtMultimedia
from PyQt5.Qt import *
MyApp = QtWidgets.QApplication(sys.argv)
V = MyApp.desktop().screenGeometry()
h = V.height()
w = V.width()
try:
from PyQt5.QtWinExtras import QtWin
myappid = 'mycompany.myproduct.subproduct.version'
QtWin.setCurrentProcessExplicitAppUserModelID(myappid)
except ImportError:
pass
class PushButton(QPushButton):
def __init__(self, parent=None):
super(PushButton, self).__init__(parent)
self.icon_1 = QtGui.QIcon()
self.icon_1.addPixmap(
QtGui.QPixmap("start.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.setIconSize(QtCore.QSize(500, 300))
self.setIcon(self.icon_1)
self.icon_2 = QtGui.QIcon()
self.icon_2.addPixmap(
QtGui.QPixmap("start_true.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.setIconSize(QtCore.QSize(500, 300))
self.setFixedSize(350, 220)
def enterEvent(self, event):
self.setIcon(self.icon_2)
def leaveEvent(self, event):
self.setIcon(self.icon_1)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.num = 5
self.text = None
self._rect = QRect(0, 0, 100, 100)
filename = 'music.mp3'
fullpath = QtCore.QDir.current().absoluteFilePath(filename)
url = QtCore.QUrl.fromLocalFile(fullpath)
content = QtMultimedia.QMediaContent(url)
self.player = QtMultimedia.QMediaPlayer()
self.player.setMedia(content)
self.player.setVolume(50)
self.player.play()
self.slider = QSlider(Qt.Horizontal, self)
self.slider.setRange(0, 100)
self.slider.setValue(50)
self.slider.setGeometry(800, 720, 300, 70)
self.slider.hide()
self.slider.valueChanged.connect(self.player.setVolume)
def Button_Name(btn_name, text, px, resize, resize_2, move, move_2, color, mains):
btn_name.setMouseTracking(True);
btn_name.setText(text)
btn_name.setStyleSheet(
"color: " + color + "; border-radius: " + str(px) + "px")
btn_name.setFont(QtGui.QFont('MS Serif', 14))
btn_name.resize(resize, resize_2)
btn_name.move(move, move_2)
btn_name.clicked.connect(mains)
def Button_2(btn_name, text, px, resize, resize_2, move, move_2, color, size):
btn_name.setMouseTracking(True);
btn_name.setText(text)
btn_name.setStyleSheet(
"color: " + color + "; border-radius: " + str(px) + "px")
btn_name.setFont(QtGui.QFont('Gabriola', size))
btn_name.resize(resize, resize_2)
btn_name.move(move, move_2)
# btn_name.clicked.connect(mains)
def Button_3(btn_name, text, px, resize, resize_2, move, move_2, color, mains):
btn_name.setMouseTracking(True);
if text == "Настройки громкости":
btn_name.setCheckable(True)
btn_name.setText(f'{text}: ({self.slider.value()})')
else:
btn_name.setText(text)
btn_name.setStyleSheet(
"color: " + color + "; border-radius: " + str(px) + "px")
btn_name.setFont(QtGui.QFont('MS Serif', 14))
btn_name.resize(resize, resize_2)
btn_name.move(move, move_2)
btn_name.clicked.connect(mains)
def Image(lbl_name, move_1, move_2, resize_1, resize_2):
lbl_name.setPixmap(self.pix)
lbl_name.move(move_1, move_2)
lbl_name.resize(resize_1, resize_2)
self.lbl2 = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("image.jpg").scaled(w, h)
Image(self.lbl2, 0, 0, w, h)
self.lbl1 = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("System_image/textbox.png").scaled(w, int(h/4))
Image(self.lbl1, 0, h-int(h/3), w, int(h/3+100))
self.lbl11 = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("Button_image/next.png").scaled(220, 70)
Image(self.lbl11, w-270, h-130, 250, 85)
self.btn_next_text = QPushButton(self)
Button_3(self.btn_next_text, "", 5, 250, 85, w-270, h-130, "White", self.next)
self.btn_next_text.close()
self.lbl11.close()
self.btn1 = QPushButton(self)
Button_2(self.btn1, "Да", 10, 1000, 200, int(w/2-500), int(h/1.40), "White", 15)
self.inv = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("Button_image/inventory_btn.png").scaled(156, 96)
Image(self.inv, -30, int(h/2+50), 156, 96)
self.btn31 = QPushButton(self)
Button_3(self.btn31, "", 0, 156, 96, -30, int(h/2+50), "White", self.inventory)
self.inv_open = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("Button_image/inventory.png").scaled(w-150, h-84)
Image(self.inv_open, 70, 40, w-150, h-84)
self.inv_open.close()
self.btn4 = QPushButton(self)
Button_3(self.btn4, "", 5, 120, 120, int(w/1.18), int(h/10), "White", self.inventory_close)
self.btn4.close()
self.lbl20 = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("System_image/Selection_menu.png").scaled(w, h)
Image(self.lbl20, 0, 0, w, h)
self.lbl20.close()
self.mg_open = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("Button_image/Magazine.png").scaled(156, 96)
Image(self.mg_open, -30, int(h/2-60), 156, 96)
self.btn5 = QPushButton(self)
Button_3(self.btn5, "", 0, 156, 96, -30, int(h/2-60), "White", self.event_log)
self.btn6 = QPushButton(self)
Button_3(self.btn6, "", 0, int(w/3), h, 0, 0, "White", self.notes)
self.btn6.close()
self.btn7 = QPushButton(self)
Button_3(self.btn7, "", 0, int(w/3), h, int(w/3), 0, "White", self.easter)
self.btn7.close()
self.btn8 = QPushButton(self)
Button_3(self.btn8, "", 0, int(w/3), h, int(w/3*2), 0, "White", self.tasks)
self.btn8.close()
self.notes_open = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("The_event_log/Notes.png").scaled(w, h)
Image(self.notes_open, 0, 0, w, h)
self.notes_open.close()
self.btn9 = QPushButton(self)
Button_3(self.btn9, "", 5, 100, 100, int(w/1.13), int(h/20), "White", self.inventory_close)
self.btn9.close()
self.easter_open = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("The_event_log/Easter.png").scaled(w, h)
Image(self.easter_open, 0, 0, w, h)
self.easter_open.close()
self.btn10 = QPushButton(self)
Button_3(self.btn10, "", 5, 100, 100, int(w/1.13), int(h/20), "White", self.inventory_close)
self.btn10.close()
self.tasks_open = QtWidgets.QLabel(self)
self.pix = QtGui.QPixmap("The_event_log/Tasks.png")
Image(self.tasks_open, 0, 0, w, h)
self.tasks_open.close()
self.btn11 = QPushButton(self)
Button_3(self.btn11, "", 5, 100, 100, int(w/1.13), int(h/20), "White", self.inventory_close)
self.btn11.close()
self.lbl2.close()
self.btn31.close()
self.btn1.close()
self.lbl1.close()
self.inv.close()
self.mg_open.close()
self.btn5.close()
self.btn6.close()
self.btn_start = PushButton(self)
Button_3(self.btn_start, "", 20, 500, 200, int(w/2-175), int(h/5), "Black", self.start)
self.btn_next = QPushButton(self)
Button_3(self.btn_next, "Продолжить", 20, 300, 100, int(w/2-150), int(h/2), "Black", self.next_start)
self.btn_select = QPushButton(self)
Button_3(self.btn_select, "Настройки громкости", 20, 500, 100, int(w/2-250), int(h/1.5), "Black", self.volume_custom)
def inventory(self):
self.btn_next_text.close()
self.lbl11.close()
self.btn31.close()
self.btn1.close()
self.lbl1.close()
self.inv.close()
self.inv_open.show()
self.btn4.show()
self.mg_open.close()
self.btn5.close()
self.btn6.close()
def inventory_close(self):
self.btn_next_text.show()
self.lbl11.show()
self.btn1.show()
self.lbl1.show()
self.inv.show()
self.inv_open.close()
self.btn4.close()
self.notes_open.close()
self.btn9.close()
self.mg_open.show()
self.btn5.show()
self.btn6.close()
self.btn7.close()
self.btn8.close()
self.easter_open.close()
self.btn10.close()
self.btn11.close()
self.tasks_open.close()
self.btn31.show()
def animations(self):
animation = QPropertyAnimation(self)
animation.setTargetObject(self.btn_name)
animation.setPropertyName(b'pos')
animation.setStartValue(QPoint(250, -200))
animation.setEndValue(QPoint(250, 0))
animation.setDuration(500)
animation.start()
def event_log(self):
self.btn_next_text.close()
self.lbl11.close()
self.btn31.close()
self.btn1.close()
self.lbl1.close()
self.inv.close()
self.btn5.close()
self.mg_open.close()
self.lbl20.show()
self.btn6.show()
self.btn7.show()
self.btn8.show()
def notes(self):
self.lbl11.close()
self.lbl20.close()
self.notes_open.show()
self.btn9.show()
self.btn6.close()
self.btn7.close()
self.btn8.close()
def easter(self):
self.lbl11.close()
self.lbl20.close()
self.easter_open.show()
self.btn10.show()
self.btn6.close()
self.btn7.close()
self.btn8.close()
def tasks(self):
self.lbl11.close()
self.lbl20.close()
self.tasks_open.show()
self.btn11.show()
self.btn6.close()
self.btn7.close()
self.btn8.close()
def start(self):
self.btn_next_text.show()
self.lbl11.show()
self.btn_next.close()
self.btn1.show()
self.lbl1.show()
self.inv.show()
self.inv_open.close()
self.btn4.close()
self.notes_open.close()
self.btn9.close()
self.mg_open.show()
self.btn5.show()
self.btn6.close()
self.btn7.close()
self.btn8.close()
self.easter_open.close()
self.btn10.close()
self.btn11.close()
self.tasks_open.close()
self.btn31.show()
self.lbl2.show()
self.slider.close()
self.btn_select.close()
self.btn_start.close()
def volume_custom(self):
sender = self.sender()
print(f'def volume_custom(): {sender.text()} - {sender.isChecked()}')
if sender.isChecked():
self.slider.show()
else:
self.slider.close()
sender.setText(f'Настройки громкости: ({self.slider.value()})')
def next_start(self):
#тут действие нужно
print()
def next(self):
self.btn1.setText("Нет")
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon('System_image/icon.png'))
ex = MainWindow()
ex.setWindowTitle('Story Telling')
ex.setWindowIcon(QIcon('System_image/icon.png'))
ex.showFullScreen()
ex.show()
sys.exit(app.exec_())
您需要通过读取文件并将更改保存到文件来设置文本
此问题的可能解决方案示例: