PyQt5 控件學習(一個一個學習之QProgressDialog)


QProgressDialog繼承圖:

 

QProgressDialog描述:

 

 

QProgressDialog繼承:

它繼承自 QDialog  

 

QProgressDialog功能作用:

QProgressDialog功能作用之構造函數:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        progressDialog = QProgressDialog(self)
        #它會自動的彈出  如果在4s 內進度條已經走完了,那么它就不會彈出了



if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

多個參數的構造函數:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        # progressDialog = QProgressDialog(self)
        progressDialog = QProgressDialog("xx1","xx2",1,1000,self)


        progressDialog.setAutoClose(False)
        progressDialog.setAutoReset(False)

        # progressDialog.setMinimumDuration(0)

        progressDialog.setValue(50)  #4s 后會被顯示

        for i in range(1,101):
            progressDialog.setValue(i) #4s 后不會被顯示


        progressDialog.open(lambda :print("對話框被取消"))









if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

QProgressDialog功能作用之彈出設置:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        progressDialog = QProgressDialog(self)
        #它會自動的彈出  如果在4s 內進度條已經走完了,那么它就不會彈出了

        # #這個時間是可以修改的。
        # progressDialog.setMinimumDuration(0)

        progressDialog.setValue(50)  #4s 后會被顯示

        for i in range(1,101):
            progressDialog.setValue(i) #4s 后不會被顯示




if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code
from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        progressDialog = QProgressDialog(self)
        #

        progressDialog.setAutoClose(False)
        progressDialog.setAutoReset(False)

        # progressDialog.setMinimumDuration(0)

        progressDialog.setValue(50)  #4s 后會被顯示

        for i in range(1,101):
            progressDialog.setValue(i) #4s 后不會被顯示
        
        #
        progressDialog.open(lambda :print("對話框被取消"))




if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

 

QProgressDialog功能作用之界面內容設置:

 

 

QProgressDialog功能作用之數據處理:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        progressDialog = QProgressDialog(self)

        progressDialog.setWindowTitle("HaHa")
        progressDialog.setLabelText("下載進度")
        progressDialog.setCancelButtonText("取消")

        progressDialog.setRange(0,500)

        progressDialog.setValue(490)
        progressDialog.open()

        def timeout_slot():
            print(progressDialog.value())
            if progressDialog.value()+1>= progressDialog.maximum() or progressDialog.wasCanceled():
                timer.stop()
            progressDialog.setValue(progressDialog.value()+1)
            #自動關閉的三個條件:達到最大值,二,自動重置為true  三,可以自動關閉

        timer = QTimer(progressDialog)
        timer.timeout.connect(timeout_slot)
        timer.start(1000)


if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

 

QProgressDialog功能作用之是否取消:

QProgressDialog功能作用之自動操作:

 

 

 

QProgressDialog信號:

from PyQt5.Qt import * #剛開始學習可以這樣一下導入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QProgressDialog的學習")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        progressDialog = QProgressDialog(self)

        progressDialog.setWindowTitle("HaHa")
        progressDialog.setLabelText("下載進度")
        progressDialog.setCancelButtonText("取消")

        progressDialog.setRange(0,500)

        progressDialog.setValue(490)
        progressDialog.open()

        #信號
        progressDialog.canceled.connect(lambda :print("被取消"))


if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())
View Code

 

總結:

下面是QMessageBox :https://www.cnblogs.com/zach0812/p/11398808.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM