最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+PyQt編寫一個(gè)批量年齡計(jì)算工具

 更新時(shí)間:2025年10月09日 09:48:31   作者:Goona_  
在日常工作中,批量計(jì)算人員年齡是一項(xiàng)常見但繁瑣的任務(wù),這篇文章主要為大家介紹一下如何結(jié)合Python和PyQt編寫一個(gè)年齡計(jì)算工具,感興趣的小伙伴可以了解下

一、引言

在日常工作中,批量計(jì)算人員年齡是一項(xiàng)常見但繁瑣的任務(wù),傳統(tǒng)的手工處理方式不僅效率低下,還容易因人為操作導(dǎo)致錯(cuò)誤。為此,我們開發(fā)了基于PyQt框架的批量年齡(周歲)計(jì)算工具,該工具能夠從18位身份證號(hào)中自動(dòng)提取出生日期(第7-14位為YYYYMMDD格式),并結(jié)合用戶指定的目標(biāo)日期,高效、精準(zhǔn)地計(jì)算出周歲年齡。同時(shí)支持將結(jié)果直接復(fù)制導(dǎo)出,便于后續(xù)數(shù)據(jù)分析與系統(tǒng)集成。

二、GUI界面設(shè)計(jì)

使用PyQt5進(jìn)行界面的搭建,界面如下:

初始界面搭建采用極簡風(fēng)格。當(dāng)批量輸入(也可直接從excel中復(fù)制粘貼)合法的身份證號(hào)碼后,若其合法,點(diǎn)擊“計(jì)算”后會(huì)在右側(cè)給出對(duì)應(yīng)年齡(周歲)結(jié)果;否則,會(huì)告知用戶輸入身份證號(hào)碼存在不合法項(xiàng)并提示重新輸入。

需要注意的是:該計(jì)算工具會(huì)結(jié)合用戶指定的目標(biāo)日期,高效、精準(zhǔn)地計(jì)算出周歲年齡。如上圖紅框所示:當(dāng)兩者均為2000年出生,得到的年齡相差為1,原因在于前者是4月份出生(到2025年的10月7日滿周歲),后者是11月份出生(到2025年的10月7日未滿周歲)

1.相關(guān)提示

在未輸入身份證和未選擇指定日期,進(jìn)行“計(jì)算”操作后,均會(huì)給出提示;當(dāng)用戶輸入的身份證存在長度錯(cuò)誤或特殊字符時(shí),提示“輸入身份證有誤,請(qǐng)重新輸入”。

2.效果演示

3.界面設(shè)計(jì).py

通過pyuic5產(chǎn)生的GUI界面代碼jiemian.py如下:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'jiemian.ui'
#
# Created by: PyQt5 UI code generator 5.15.11
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.setEnabled(True)
        Form.resize(360, 450)
        Form.setMinimumSize(QtCore.QSize(360, 450))
        Form.setMaximumSize(QtCore.QSize(360, 450))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/image1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Form.setWindowIcon(icon)
        self.label_5 = QtWidgets.QLabel(Form)
        self.label_5.setGeometry(QtCore.QRect(210, 40, 141, 31))
        font = QtGui.QFont()
        font.setFamily("Adobe Arabic")
        font.setPointSize(16)
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.label_8 = QtWidgets.QLabel(Form)
        self.label_8.setGeometry(QtCore.QRect(130, 10, 251, 31))
        font = QtGui.QFont()
        font.setFamily("Adobe Arabic")
        font.setPointSize(18)
        font.setBold(False)
        font.setWeight(50)
        self.label_8.setFont(font)
        self.label_8.setObjectName("label_8")
        self.label_10 = QtWidgets.QLabel(Form)
        self.label_10.setGeometry(QtCore.QRect(290, 30, 71, 51))
        self.label_10.setText("")
        self.label_10.setPixmap(QtGui.QPixmap(":/image1.png"))
        self.label_10.setObjectName("label_10")
        self.textEdit = QtWidgets.QTextEdit(Form)
        self.textEdit.setGeometry(QtCore.QRect(30, 110, 141, 201))
        self.textEdit.setObjectName("textEdit")
        self.textEdit_2 = QtWidgets.QTextEdit(Form)
        self.textEdit_2.setGeometry(QtCore.QRect(200, 110, 141, 201))
        self.textEdit_2.setObjectName("textEdit_2")
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(30, 85, 121, 21))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(200, 90, 54, 12))
        self.label_2.setObjectName("label_2")
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(30, 410, 311, 23))
        self.pushButton.setObjectName("pushButton")
        self.comboBox = QtWidgets.QComboBox(Form)
        self.comboBox.setGeometry(QtCore.QRect(40, 360, 67, 22))
        self.comboBox.setObjectName("comboBox")
        self.comboBox_2 = QtWidgets.QComboBox(Form)
        self.comboBox_2.setGeometry(QtCore.QRect(150, 360, 67, 22))
        self.comboBox_2.setObjectName("comboBox_2")
        self.comboBox_3 = QtWidgets.QComboBox(Form)
        self.comboBox_3.setGeometry(QtCore.QRect(260, 360, 67, 22))
        self.comboBox_3.setObjectName("comboBox_3")
        self.label_3 = QtWidgets.QLabel(Form)
        self.label_3.setGeometry(QtCore.QRect(110, 360, 16, 21))
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(Form)
        self.label_4.setGeometry(QtCore.QRect(220, 360, 21, 21))
        self.label_4.setObjectName("label_4")
        self.label_6 = QtWidgets.QLabel(Form)
        self.label_6.setGeometry(QtCore.QRect(330, 360, 21, 21))
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(Form)
        self.label_7.setGeometry(QtCore.QRect(30, 330, 121, 31))
        self.label_7.setObjectName("label_7")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Age_cal"))
        self.label_5.setText(_translate("Form", "Designed By"))
        self.label_8.setText(_translate("Form", "年齡計(jì)算"))
        self.label.setText(_translate("Form", "請(qǐng)輸入身份證號(hào)碼:"))
        self.label_2.setText(_translate("Form", "年齡如下:"))
        self.pushButton.setText(_translate("Form", "計(jì)算"))
        self.label_3.setText(_translate("Form", "年"))
        self.label_4.setText(_translate("Form", "月"))
        self.label_6.setText(_translate("Form", "日"))
        self.label_7.setText(_translate("Form", "請(qǐng)選擇指定日期:"))
import ziyuan_rc

三、主要程序詳解

1.導(dǎo)入相關(guān)模塊

import sys, time
from jiemian import *
from PyQt5.QtWidgets import QApplication, QWidget
# 保持窗口大小和qtdesigner中的一致
from PyQt5 import QtCore
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

導(dǎo)入前端頁面設(shè)計(jì)文件:jiemian.py;不懂為啥需要導(dǎo)入Qtcore的,請(qǐng)看一鍵曝光:Python+PyQt實(shí)現(xiàn)的文件目錄

2.初始化設(shè)置

    def __init__(self):
        super(QWidget, self).__init__()
        self.setupUi(self)

        self.pushButton.clicked.connect(self.jisuan)
        self.comboBox.currentIndexChanged.connect(self.day_show)  # 年份選項(xiàng)發(fā)生改變
        self.comboBox_2.currentIndexChanged.connect(self.day_show)  # 月份選項(xiàng)發(fā)生改變

        self.comboBox.addItem('請(qǐng)選擇')
        self.comboBox_2.addItem('請(qǐng)選擇')

        # 針對(duì)“年”
        self.cur_nian = time.strftime("%Y", time.localtime())
        # 使用列表推導(dǎo)式增添選項(xiàng)
        self.comboBox.addItems([str(int(self.cur_nian) + i) for i in range(-5, 6)])  # 年
        self.comboBox_2.addItems([str(i) for i in range(1, 13)])  # 月

pushbutton綁定于jisuan;當(dāng)用戶改變年度/月份時(shí),對(duì)應(yīng)的“日”也需要緊隨變化,故將其綁定于day_show;同時(shí)在初始化時(shí)將年份comboBox和月份comboBox_2添加首選項(xiàng)“請(qǐng)選擇”,日comboBox暫時(shí)不做處理;接著通過time.strftime獲取當(dāng)前年份并存儲(chǔ)于cur_nian中;以當(dāng)前年份為時(shí)間中點(diǎn),使用列表推導(dǎo)式往前往后各推5年添加至comboBox中;最后再通過列表推導(dǎo)式添加12個(gè)月份。

3.“日”選項(xiàng)的設(shè)置

    def day_show(self):
    """主要對(duì)日進(jìn)行設(shè)置,因?yàn)槠洳粌H與月份有關(guān),還與年份有關(guān)(閏年的2月)"""
        self.comboBox_3.clear()
        self.comboBox_3.addItem('請(qǐng)選擇')
        yue_text = self.comboBox_2.currentText()  # 判斷用戶選擇的是哪個(gè)月
        if yue_text in ['1', '3', '5', '7', '8', '10', '12']:  # 31天的月份
            self.comboBox_3.addItems([str(i) for i in range(1, 32)])
        elif yue_text in ['4', '6', '9', '11']:  # 30天的月份
            self.comboBox_3.addItems(str(i) for i in range(1, 31))
        elif yue_text == '2':  # 針對(duì)2月要特殊處理
            if self.comboBox.currentIndex() != 0:  # 除去年份為“請(qǐng)選擇”的特殊情況
                if year_judge(self.comboBox.currentText()):  # 為閏年,2月為29天
                    self.comboBox_3.addItems([str(i) for i in range(1, 30)])
                else:  # 不為閏年,2月為28天
                    self.comboBox_3.addItems([str(i) for i in range(1, 29)])
        else:  # 表示月份的“請(qǐng)選擇”選項(xiàng)
            pass

與其他combobox一樣,combobox_3“日下拉框”也需要clear()和添加首選項(xiàng)“請(qǐng)選擇”;combobox_3其不僅取決于“年下拉框”combobox是否為閏年,而且還取決于“月下拉框”combobox_2的選擇(有31天的月份,也有30天的月份);所以先判斷combobox_2的text是否在31天和30天的月份中,如果存在,直接使用列表推導(dǎo)式additems即可;否則如果為2月,還需通過自定義函數(shù)year_judge判斷當(dāng)前年份是否為閏年;如果為閏年,則列表推導(dǎo)式產(chǎn)生29天,否則產(chǎn)生28天;此時(shí),combobox_3未討論情況只剩下“請(qǐng)選擇”選項(xiàng),pass即可。

4.年齡(周歲)的計(jì)算

    def jisuan(self):
        shuru = self.textEdit.toPlainText()  # 讀取的默認(rèn)類型為str

        if shuru != "": # 用戶輸入不為空時(shí)
            if (self.comboBox.currentIndex()!=0) and(self.comboBox_2.currentIndex()!=0) and (self.comboBox_3.currentIndex()!=0): # 用戶做出年月日的選擇
                shuru_nian = self.comboBox.currentText()
                shuru_yue = self.comboBox_2.currentText()
                shuru_ri = self.comboBox_3.currentText()
                zhiding_riqi = riqi_return(shuru_nian,shuru_yue,shuru_ri) # 合并為YYYYMMDD的形式

                shuru_list = shuru.split()  # 以換行符分割
                riqi = [i[6:14] for i in shuru_list] # 截取所有身份證的8位日期

                jieguo  =[] # 年齡差存放
                for i in riqi:
                    if (len(i) == 8) and i.isdigit(): # 長度為8且均為數(shù)字
                        jieguo.append(niancha_cal(zhiding_riqi, i))
                    else:
                        QtWidgets.QMessageBox.critical(self, "提示", "輸入身份證有誤,請(qǐng)重新輸入!")
                        break

                self.textEdit_2.clear() # 清除上次結(jié)果
                for item in jieguo:
                    self.textEdit_2.append(str(item))
            else:
                QtWidgets.QMessageBox.critical(self, "提示", "請(qǐng)選擇指定日期!")
        else:
            QtWidgets.QMessageBox.critical(self, "提示", "請(qǐng)輸入身份證號(hào)!")

當(dāng)用戶輸入不為空時(shí),判斷用戶是否進(jìn)行了“年月日”的選擇(依據(jù)item的索引);若用戶已經(jīng)進(jìn)行選擇,則讀取年月日并存儲(chǔ),通過調(diào)用自定義函數(shù)riqi_return從而返回YYYYMMDD的日期規(guī)范格式;再通過對(duì)用戶輸入的所有身份證進(jìn)行切片操作,獲取8位日期,并與上述YYYYMMDD通過自定義函數(shù)niancha_cal進(jìn)行比較和計(jì)算,將得到的結(jié)果添加至jieguo中;最后通過循環(huán)顯示到textedit_2中。

5.自定義函數(shù)

def year_judge(year):
    """判斷用戶輸入是否為閏年"""
    if (int(year)%4==0) and (int(year)%100!=0):
        return True
    elif int(year)%400==0:
        return True
    else:
        return False

閏年的標(biāo)志:能被4整除的同時(shí),但不能被100整除;或者是能被400直接整除。

def riqi_return(nian, yue, ri):
    """將年月日三數(shù)字轉(zhuǎn)換合并為YYYYMMDD形式"""
    if (int(yue)<10): # 單月形式
        if (int(ri)<10): # 單日
            return nian+'0'+yue+'0'+ri # 補(bǔ)零操作
        else:
            return nian+'0'+yue+ri
    else:
        if (int(ri) < 10):
            return nian+yue+'0'+ri
        else:
            return nian+yue+ri

通過分支結(jié)構(gòu),在單數(shù)字前進(jìn)行補(bǔ)零,最后將字符串拼接即可得到Y(jié)YYYMMDD形式。

def niancha_cal(date1, date2):
    # 默認(rèn)date1先于date2
    if int(date1)<int(date2): # 交換兩者順序
        temp = date1
        date1 = date2
        date2 = temp

    if int(date1[4:6]) < int(date2[4:6]): # 判斷月的大小關(guān)系
        return int(date1[0:4])-int(date2[0:4])-1 # 不滿周歲得減一
    elif int(date1[4:6]) > int(date2[4:6]):
        return int(date1[0:4])-int(date2[0:4])
    else:
        if int(date1[6:8]) < int(date2[6:8]): # 進(jìn)一步判斷“日”的大小關(guān)系
            return int(date1[0:4]) - int(date2[0:4]) - 1  # 不滿周歲得減一
        else:
            return int(date1[0:4]) - int(date2[0:4])

默認(rèn)date1先于date2,否則進(jìn)行交換;接下來截取月份和日進(jìn)行比較,最終截取年份相減,根據(jù)是否滿周歲判斷是否多減一。

四、總程序代碼

import sys, time
from jiemian import *
from PyQt5.QtWidgets import QApplication, QWidget
# 保持窗口大小和qtdesigner中的一致
from PyQt5 import QtCore
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

class window(QWidget, Ui_Form):
    def __init__(self):
        super(QWidget, self).__init__()
        self.setupUi(self)

        self.pushButton.clicked.connect(self.jisuan)
        self.comboBox.currentIndexChanged.connect(self.day_show)  # 年份選項(xiàng)發(fā)生改變
        self.comboBox_2.currentIndexChanged.connect(self.day_show)  # 月份選項(xiàng)發(fā)生改變

        self.comboBox.addItem('請(qǐng)選擇')
        self.comboBox_2.addItem('請(qǐng)選擇')

        # 針對(duì)“年”
        self.cur_nian = time.strftime("%Y", time.localtime())
        # 使用列表推導(dǎo)式增添選項(xiàng)
        self.comboBox.addItems([str(int(self.cur_nian) + i) for i in range(-5, 6)])  # 年
        self.comboBox_2.addItems([str(i) for i in range(1, 13)])  # 月

    def day_show(self):
        self.comboBox_3.clear()
        self.comboBox_3.addItem('請(qǐng)選擇')
        yue_text = self.comboBox_2.currentText()  # 判斷用戶選擇的是哪個(gè)月
        if yue_text in ['1', '3', '5', '7', '8', '10', '12']:  # 31天的月份
            self.comboBox_3.addItems([str(i) for i in range(1, 32)])
        elif yue_text in ['4', '6', '9', '11']:  # 30天的月份
            self.comboBox_3.addItems(str(i) for i in range(1, 31))
        elif yue_text == '2':  # 針對(duì)2月要特殊處理
            if self.comboBox.currentIndex() != 0:  # 除去年份為“請(qǐng)選擇”的特殊情況
                if year_judge(self.comboBox.currentText()):  # 為閏年,2月為29天
                    self.comboBox_3.addItems([str(i) for i in range(1, 30)])
                else:  # 不為閏年,2月為28天
                    self.comboBox_3.addItems([str(i) for i in range(1, 29)])
        else:  # 表示月份的“請(qǐng)選擇”選項(xiàng)
            pass

    def jisuan(self):
        shuru = self.textEdit.toPlainText()  # 讀取的默認(rèn)類型為str

        if shuru != "": # 用戶輸入不為空時(shí)
            if (self.comboBox.currentIndex()!=0) and(self.comboBox_2.currentIndex()!=0) and (self.comboBox_3.currentIndex()!=0): # 用戶做出年月日的選擇
                shuru_nian = self.comboBox.currentText()
                shuru_yue = self.comboBox_2.currentText()
                shuru_ri = self.comboBox_3.currentText()
                zhiding_riqi = riqi_return(shuru_nian,shuru_yue,shuru_ri) # 合并為YYYYMMDD的形式

                shuru_list = shuru.split()  # 以換行符分割
                riqi = [i[6:14] for i in shuru_list] # 截取所有身份證的8位日期

                jieguo  =[] # 年齡差存放
                for i in riqi:
                    if (len(i) == 8) and i.isdigit(): # 長度為8且均為數(shù)字
                        jieguo.append(niancha_cal(zhiding_riqi, i))
                    else:
                        QtWidgets.QMessageBox.critical(self, "提示", "輸入身份證有誤,請(qǐng)重新輸入!")
                        break

                self.textEdit_2.clear() # 清除上次結(jié)果
                for item in jieguo:
                    self.textEdit_2.append(str(item))
            else:
                QtWidgets.QMessageBox.critical(self, "提示", "請(qǐng)選擇指定日期!")
        else:
            QtWidgets.QMessageBox.critical(self, "提示", "請(qǐng)輸入身份證號(hào)!")

def year_judge(year):
    """判斷用戶輸入是否為閏年"""
    if (int(year)%4==0) and (int(year)%100!=0):
        return True
    elif int(year)%400==0:
        return True
    else:
        return False

def riqi_return(nian, yue, ri):
    """將年月日三數(shù)字轉(zhuǎn)換合并為YYYYMMDD形式"""
    if (int(yue)<10): # 單月形式
        if (int(ri)<10): # 單日
            return nian+'0'+yue+'0'+ri # 補(bǔ)零操作
        else:
            return nian+'0'+yue+ri
    else:
        if (int(ri) < 10):
            return nian+yue+'0'+ri
        else:
            return nian+yue+ri

def niancha_cal(date1, date2):
    # 默認(rèn)date1先于date2
    if int(date1)<int(date2): # 交換兩者順序
        temp = date1
        date1 = date2
        date2 = temp

    if int(date1[4:6]) < int(date2[4:6]): # 判斷月的大小關(guān)系
        return int(date1[0:4])-int(date2[0:4])-1 # 不滿周歲得減一
    elif int(date1[4:6]) > int(date2[4:6]):
        return int(date1[0:4])-int(date2[0:4])
    else:
        if int(date1[6:8]) < int(date2[6:8]): # 進(jìn)一步判斷“日”的大小關(guān)系
            return int(date1[0:4]) - int(date2[0:4]) - 1  # 不滿周歲得減一
        else:
            return int(date1[0:4]) - int(date2[0:4])

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = window()
    w.show()
    sys.exit(app.exec_())

到此這篇關(guān)于Python+PyQt編寫一個(gè)批量年齡計(jì)算工具的文章就介紹到這了,更多相關(guān)Python計(jì)算年齡內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中xrange與yield的用法實(shí)例分析

    Python中xrange與yield的用法實(shí)例分析

    這篇文章主要介紹了Python中xrange與yield的用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了range和xrange功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-12-12
  • python基礎(chǔ)字符串str詳解

    python基礎(chǔ)字符串str詳解

    大家好,本篇文章主要講的是python基礎(chǔ)字符串str詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • python如何爬取網(wǎng)頁中的文字

    python如何爬取網(wǎng)頁中的文字

    在本篇文章里小編給大家整理的是關(guān)于python如何爬取網(wǎng)頁中的文字的相關(guān)實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • Python docx庫刪除復(fù)制paragraph及行高設(shè)置圖片插入示例

    Python docx庫刪除復(fù)制paragraph及行高設(shè)置圖片插入示例

    這篇文章主要為大家介紹了Python docx庫刪除復(fù)制paragraph及行高設(shè)置圖片插入操作實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python+PyQt5實(shí)現(xiàn)自制pdf工具箱

    Python+PyQt5實(shí)現(xiàn)自制pdf工具箱

    這篇文章主要為大家詳細(xì)介紹了Python如何利用PyQt5自制pdf工具箱,可以實(shí)現(xiàn)合并拆分和刪除指定pdf頁面,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • python列表:開始、結(jié)束、步長值實(shí)例

    python列表:開始、結(jié)束、步長值實(shí)例

    這篇文章主要介紹了python列表:開始、結(jié)束、步長值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PyCharm中配置模板用法詳解

    PyCharm中配置模板用法詳解

    在PyCharm中配置模板,可以在創(chuàng)建新文件時(shí)自動(dòng)生成固定的文件說明信息,配置方法包括打開PyCharm設(shè)置、編輯文件和代碼模板、選擇PythonScript并輸入模板命令等步驟,參數(shù)定制化也方便了個(gè)性化需求
    2026-04-04
  • Python數(shù)據(jù)類型詳解(二)列表

    Python數(shù)據(jù)類型詳解(二)列表

    本文給大家詳細(xì)介紹的是Python數(shù)據(jù)類型中的列表(list),非常的簡單實(shí)用,有需要的小伙伴可以參考下
    2016-05-05
  • 使用Qt?QSS繪制簡單美化界面功能

    使用Qt?QSS繪制簡單美化界面功能

    這篇文章主要介紹了使用Qt?QSS繪制簡單美化界面,本文以繪制登錄界面為例,創(chuàng)建一個(gè)繼承自Qwidget的設(shè)計(jì)師界面類,為了使得控件排放整齊有序,可以使用layout布局進(jìn)行輔助,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • pytorch 固定部分參數(shù)訓(xùn)練的方法

    pytorch 固定部分參數(shù)訓(xùn)練的方法

    今天小編就為大家分享一篇pytorch 固定部分參數(shù)訓(xùn)練的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評(píng)論

金门县| 双牌县| 桐梓县| 东平县| 禹州市| 密云县| 阿坝县| 临桂县| 大石桥市| 新竹县| 沙坪坝区| 天峻县| 寻乌县| 四平市| 宿迁市| 兰西县| 台东市| 罗城| 扎鲁特旗| 呼图壁县| 高碑店市| 龙江县| 神池县| 隆回县| 商南县| 泰来县| 南昌市| 襄垣县| 乐平市| 岳阳县| 保山市| 拉孜县| 邵东县| 兰西县| 阳高县| 蓬溪县| 仲巴县| 桃园县| 内江市| 滨州市| 雅安市|