0
下面的代碼創建一個QPidButton連接到resizeDialog()的單個QWidget窗口。按下按鈕將對話框的大小從.resize(200,100)切換到.resize(600,300)並返回。PyQt:如何爲對話框大小設置動畫效果
問題:默認情況下,從一個窗口的大小過渡到另一個窗口的大小立即發生。如何用動畫覆蓋此行爲?
from PyQt4 import QtCore, QtGui
import sys
class myWindow(QtGui.QWidget):
def __init__(self, parent=None):
super(myWindow, self).__init__(parent)
myLayout = QtGui.QVBoxLayout(self)
Button = QtGui.QPushButton('Resize')
myLayout.addWidget(Button)
Button.setMinimumWidth(200)
Button.clicked.connect(self.resizeDialog)
def resizeDialog(self):
dialog.size().width()==200:
dialog.resize(600,300)
else:
dialog.resize(200,100)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
app.setApplicationName('myApp')
dialog = myWindow()
dialog.resize(200,100)
dialog.show()
sys.exit(app.exec_())
[PyQt4 - Smooth window resize transition?]的可能重複(http://stackoverflow.com/questions/8485746/pyqt4-smooth-window-resize-transition) – M4rtini
您發佈的鏈接可能是重複的沒有一行代碼。從那裏開始的主題超出了動畫主題(重寫paint()等)。這個問題的目的是在對話框大小動畫上得到一個簡單明瞭的答案。當您必須過濾出與所討論主題完全無關的500行文本時,這裏有足夠的資源。讓我們保持簡單。截圖中的一個簡單問題,一個簡單的代碼示例 - 作爲結果的簡單答案。有什麼比這更美麗的?我希望別人會喜歡簡單。 – alphanumeric