Python 使用Qt進行開發(三)


  下面我們實現日期時間框的添加,表示日期時間的文本框可以使用QtWidgets控件下的 QDateEdit() , QTimeEdit() , QDateTime() 三個方法實現。

  1,使用QDateEdit() 我們可以得到一個只顯示日期的文本框,在文本框中我們可以手動輸入日期,也可以單擊右側的上、下按鈕設置日期。不定義默認值的話,日期文邊框的例的默認值為2000-01-01

    #創建日期文本框
    self.date = QtWidgets.QDateEdit(w)
    #調整日期文本框的位置大小
    self.date.setGeometry(QtCore.QRect(150,30,160,30))
    #設置日期顯示的格式
    self.date.setDisplayFormat("yyyy-MM-dd")        

  效果圖如下

  另外,我們修改顯示的默認值為當前日期,添加以下代碼

    now_day = time.strftime("%Y-%m-%d",time.localtime())
    self.date.setDate(QtCore.QDate.fromString(now_day, 'yyyy-MM-dd'))

  效果圖如下

  我們還可以使用日歷插件獲取日期,只需要將日期框的 calendarPopup 屬性值為True 即可,代碼代碼如下

    self.date.setCalendarPopup(True)

  效果圖如下

 

  2,QTimeEdit() 可以創建一個時間的文本框,代碼如下

    self.label1 = QtWidgets.QLabel(w)
    self.label1.setGeometry(QtCore.QRect(100, 60, 120, 45))
    self.label1.setFont(QtGui.QFont("Roman times",14))
    self.label1.setText("時間:")
    #創建一個時間框
    self.time = QtWidgets.QTimeEdit(w)
    self.time.setGeometry(QtCore.QRect(150,65,160,30))
    self.time.setDisplayFormat("hh:mm:ss")
    #獲取並定義當前時間
    now_time = time.strftime("%H:%M:%S",time.localtime())
    self.time.setTime(QtCore.QTime.fromString(now_time, 'hh:mm:ss'))

  效果圖如下

  3,上邊的設置日期和時間是分開的,操作起來會比較繁瑣,這時我們就可以使用 QDateTimeEdit() 方法了

    self.label1 = QtWidgets.QLabel(w)
    self.label1.setGeometry(QtCore.QRect(60, 60, 120, 45))
    self.label1.setFont(QtGui.QFont("Roman times",14))
    self.label1.setText("日期時間:")

    self.time = QtWidgets.QDateTimeEdit(w)
    self.time.setGeometry(QtCore.QRect(150,65,160,30))
    self.time.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
    #設置使用日歷控件
    self.time.setCalendarPopup(True)
    #獲取並定義當前時間
    now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    self.time.setDateTime(QtCore.QDateTime.fromString(now_time, 'yyyy-MM-dd hh:mm:ss'))

  效果圖如下

 


免責聲明!

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



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