PyQT5相關(guān)經(jīng)驗(yàn)

背景

近段時(shí)間使用python+pyqt5做了一個(gè)占用應(yīng)用,現(xiàn)總結(jié)下實(shí)現(xiàn)過程中的一些經(jīng)驗(yàn)

環(huán)境搭建

網(wǎng)上針對(duì)pycharm+qt的環(huán)境搭建的教程很多弃秆,像這篇

  • 安裝pyqt5关面、pyqt5-tools蜕青;

  • 安裝pycharm

  • 配置QtDesigner——通過Qt語言進(jìn)行UI設(shè)計(jì)(支持拖拽式的UI設(shè)計(jì))


    image.png
  • 配置PyUIC——主要用來將QtDesigner代碼轉(zhuǎn)化成Python代碼


    image.png
  • 配置Pyrcc—— 將圖片瘟栖、數(shù)據(jù)文件資源打包成py文件


    image.png

經(jīng)驗(yàn)

  • 支持高分辨率

    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    
  • 添加窗口圖標(biāo)方法

    self.w = QWidget()
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap("./login/title.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    self.w.setWindowIcon(icon)
    
  • label中添加圖片钧敞,并按比例縮放

    self.logoLb.setPixmap(QtGui.QPixmap("./login/1.png").scaled(self.logoLb.width(), self.logoLb.height(),
                                                                QtCore.Qt.AspectRatioMode.KeepAspectRatio,
                                                                QtCore.Qt.TransformationMode.SmoothTransformation))
    
  • 添加圖片的另外一種方法蜡豹,使用qt designer的添加資源方式添加,會(huì)自動(dòng)在.ui中生成對(duì)應(yīng)的代碼溉苛,通過Pyrcc命令之后就可以直接使用了

  • 添加狀態(tài)欄镜廉,并在狀態(tài)欄中顯示時(shí)間

    def __init__(self):
        ... ...
        self.statusbar = QtWidgets.QStatusBar()
        self.setStatusBar(self.statusbar)
        self.statusShowTime()
        
    def showCurrentTime(self, timeLabel):
        # 獲取系統(tǒng)當(dāng)前時(shí)間
        time = QtCore.QDateTime.currentDateTime()
        # 設(shè)置系統(tǒng)時(shí)間的顯示格式
        timeDisplay = time.toString('yyyy-MM-dd hh:mm:ss dddd')
        # print(timeDisplay)
        # 狀態(tài)欄顯示
        timeLabel.setText(timeDisplay)
    
    def statusShowTime(self):
        self.timer = QtCore.QTimer()
        self.timeLabel = QtWidgets.QLabel()
        font = QtGui.QFont()
        font.setFamily("微軟雅黑")
        font.setPointSize(14)
        font.setBold(True)
        self.timeLabel.setFont(font)
        self.timeLabel.setAttribute(QtCore.Qt.WA_TranslucentBackground)
        self.timeLabel.setStyleSheet('color: white;')
        self.statusbar.addPermanentWidget(self.timeLabel, 0)
        self.timer.timeout.connect(lambda: self.showCurrentTime(self.timeLabel))  # 這個(gè)通過調(diào)用槽函數(shù)來刷新時(shí)間
        self.timer.start(1000)  # 每隔一秒刷新一次,這里設(shè)置為1000ms  即1s
    
  • tablewidget的標(biāo)題大小設(shè)置

    # 第一個(gè)參數(shù)是標(biāo)題對(duì)應(yīng)的位置(從0開始)愚战,第二個(gè)參數(shù)是設(shè)置的寬度
    self.tableWidget.horizontalHeader().resizeSection(0, 100)
    
  • tablewidget單元格一開始是None娇唯,只有在添加數(shù)據(jù)的時(shí)候創(chuàng)建QTableWidgetItem項(xiàng)添加到對(duì)應(yīng)單元格

  • QT Designer設(shè)計(jì)界面時(shí),子控件會(huì)繼承父控件的格式設(shè)置寂玲,如果不想要繼承塔插,則需要在父控件或者祖先控件的QSS中指定對(duì)應(yīng)的控件objname(可以同時(shí)指定多個(gè)),如下
    只對(duì)tabwidget中每個(gè)tab使用背景圖拓哟,而tab下的子控件想许,像label、button等不使用背景圖

    #tabWidget, #tab,#tab_2, #tab_3, #tab_4, #tab_5, #tab_6, #tab_7, #tab_8, #tab_9 {
        border-image: url(:/login/login.png);
    }
    

    參考博客

持續(xù)更新中断序。流纹。。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末逢倍,一起剝皮案震驚了整個(gè)濱河市捧颅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌较雕,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挚币,死亡現(xiàn)場離奇詭異亮蒋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)妆毕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門慎玖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笛粘,你說我怎么就攤上這事趁怔∈酰” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵润努,是天一觀的道長关斜。 經(jīng)常有香客問我,道長铺浇,這世上最難降的妖魔是什么痢畜? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮鳍侣,結(jié)果婚禮上丁稀,老公的妹妹穿的比我還像新娘。我一直安慰自己倚聚,他們只是感情好线衫,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惑折,像睡著了一般桶雀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唬复,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天矗积,我揣著相機(jī)與錄音,去河邊找鬼敞咧。 笑死棘捣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的休建。 我是一名探鬼主播乍恐,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼测砂!你這毒婦竟也來了茵烈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤砌些,失蹤者是張志新(化名)和其女友劉穎呜投,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體存璃,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仑荐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纵东。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粘招。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖偎球,靈堂內(nèi)的尸體忽然破棺而出洒扎,到底是詐尸還是另有隱情辑甜,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布袍冷,位于F島的核電站磷醋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏难裆。R本人自食惡果不足惜子檀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乃戈。 院中可真熱鬧褂痰,春花似錦、人聲如沸症虑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谍憔。三九已至匪蝙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間习贫,已是汗流浹背逛球。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苫昌,地道東北人颤绕。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像祟身,于是被迫代替她去往敵國和親奥务。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容