亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 QPropertyAnimation 動畫不起作用?

為什么 QPropertyAnimation 動畫不起作用?

慕婉清6462132 2021-10-05 16:58:56
我試圖在按下按鈕時生成動畫,但在self.frame2返回到大小 0后它不起作用:這是一個例子:幀返回 0 后,動畫不會再次完成:from PyQt5.QtWidgets import QMainWindow,QApplicationfrom PyQt5 import QtCorefrom PyQt5 import uicclass Login(QMainWindow):    def __init__(self):        QMainWindow.__init__(self)        uic.loadUi("1.-Login.ui",self)        #Apariencia de Ventana        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)        self.setAttribute(QtCore.Qt.WA_NoSystemBackground,True)        self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)        #Botones        self.Ajustes.clicked.connect(self.animaAjustes)        self.ComboSuc.lineEdit().setAlignment(QtCore.Qt.AlignCenter)        self.animation = QtCore.QPropertyAnimation(self.frame2, b'size', self)        self.animation.setStartValue(QtCore.QSize(0,0))        self.animation.setEndValue(QtCore.QSize(145,443))        self.animation.setDuration(200)        self.animation.setDirection(QtCore.QAbstractAnimation.Forward)    def animaAjustes(self):        if self.frame2.width()!=0:            self.frame2.setGeometry(0,0,0,0)        else:            self.animation.start()app = QApplication([])l = Login()l.show()app.exec_()
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

幾何是小部件相對于父級的位置,在初始情況下,幾何是 (480, 0, 0, 443),也就是說,它的寬度為 0 但它位于 frame1 的右邊緣及其之后設置為幾何體 (0 , 0, 0, 0) 您將其移動到窗口的左上角位置并在那里應用動畫,但您看不到它為什么在 frame1 后面。


為了更好地觀察錯誤,請使用 raise_ 以便框架位于所有錯誤之上。


def animaAjustes(self):

    if self.frame2.width() != 0:

        self.frame2.setGeometry(0, 0, 0, 0)

    else:

        self.frame2.raise_() # <--- this change will make the error visible

        self.animation.start()

解決辦法只是改變大小,而不是幾何體(幾何體是位置+大小):


def animaAjustes(self):

    if self.frame2.width() > 0:

        self.frame2.resize(0, 0)

    else:

        self.animation.start()


查看完整回答
反對 回復 2021-10-05
  • 2 回答
  • 0 關注
  • 615 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號