欢迎光临散文网 会员登陆 & 注册

气轻PyQt6 18 LCD显示器(QLCDNumber)

2023-03-30 07:54 作者:气轻  | 我要投稿

 

本程序与【气轻PyQt6 12】类似,用LCD显示器取代了文本框,效果有所不同。

 

from PyQt6.QtWidgets import *

from PyQt6.QtGui import QIcon, QPixmap

from PyQt6.QtCore import Qt, QDate, pyqtSignal

import sys

 

class PyQt618(QWidget):

    def __init__(self):

        super().__init__()

        self.initUI()

    def initUI(self):

        self.setWindowTitle('气轻PyQt6')                # 设置窗口标题

        self.resize(290, 50)                            # 设置窗口大小

        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)             # 设置位置和大小

        self.lcd.setDigitCount(12)                      # 设置显示位数

        self.lcd.display(dateLabel)

        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)               # 设置位置和大小

        self.btn.setIcon(QIcon(QPixmap('Date.png')))

        self.btn.clicked.connect(self.calendarOn)

        self.btn.setStyleSheet('background-color:#DAA520')

        self.btn.setToolTip('选择日期')                 # 设置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)              # 设置位置和大小

        cal.clicked[QDate].connect(self.emitDate)       # 按下按钮时发送信号

 

    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())

 

执行结果


气轻PyQt6 18 LCD显示器(QLCDNumber)的评论 (共 条)

分享到微博请遵守国家法律