氣輕PyQt5 18 LCD顯示器(QLCDNumber)
?
在日歷控件選擇日期后,選擇的結(jié)果會顯示在LCD顯示器控件。
?
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtCore import Qt, QDate, pyqtSignal
import sys
?
class PyQt618(QWidget):
??? def __init__(self):
??????? super().__init__()
??????? self.initUI()
??? def initUI(self):
??????? self.setWindowTitle('氣輕PyQt6')??????????????? # 設(shè)置窗口標(biāo)題
??????? self.resize(290, 50)?????????????????????? ?????# 設(shè)置窗口大小
??????? self.setStyleSheet('background-color:#40E0D0')
?
??????? dateData = QDate.currentDate()
??????? dateLabel = dateData.toString(Qt.DateFormat.ISODate)
??????? self.lcd = QLCDNumber(self)
??????? self.lcd.setGeometry(10, 0,230, 40)?????? ??????# 設(shè)置位置和大小
??????? self.lcd.setDigitCount(12)????????????????????? # 設(shè)置顯示位數(shù)
??????? self.lcd.display(dateLabel)
??????? self.lcd.setSegmentStyle(QLCDNumber.Outline)
??????? self.lcd.setStyleSheet('background-color:#7A67EE;color : #32CD32; \
????????? ??????????font: bold large /"Times New Roman/";font-size:25px')
?
??????? self.btn = QPushButton('', self)
??????? self.btn.setGeometry(240,0,40,40)?????????????? # 設(shè)置位置和大小
??????? self.btn.setIcon(QIcon(QPixmap('Date.png')))
??????? self.btn.clicked.connect(self.calendarOn)
??????? self.btn.setStyleSheet('background-color:#DAA520')
??????? self.btn.setToolTip('選擇日期')???????????????? # 設(shè)置label提示
?
??????? self.show()
?
??? def calendarOn( self ):
??????? self.calWin = CalendarWin()
??????? self.calWin.show()
??????? self.calWin.signal.connect(self.lcd.display)???? # 連接信號與槽
?
class CalendarWin(QWidget):
??? signal = pyqtSignal( str )????????????????????????? #定義一個信號
??? def __init__(self):
??????? super().__init__()
??????? self.setWindowTitle('日期')
??????? cal = QCalendarWidget(self)
??????? cal.setGridVisible(True)
??????? self.setGeometry(800,600,280, 220)????????????? # 設(shè)置位置和大小
??????? cal.clicked[QDate].connect(self.emitDate)????? ?# 按下按鈕時發(fā)送信號
?
??? def emitDate(self,date):
??????? self.signal.emit(date.toString("yyyy-MM-dd"))
??????? self.close()
?
if __name__ == '__main__':
??? app = QApplication(sys.argv)
??? window = PyQt618()
??? sys.exit(app.exec())
?
執(zhí)行結(jié)果
