欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python與QT聯(lián)合的詳細(xì)步驟記錄

 更新時(shí)間:2024年12月31日 09:10:18   作者:m0_63098318  
這篇文章主要介紹了python與QT聯(lián)合的詳細(xì)步驟,文章還展示了如何在Python中調(diào)用QT的.ui文件來(lái)實(shí)現(xiàn)GUI界面,并介紹了多窗口的應(yīng)用,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、文章簡(jiǎn)介

python適合做一些后臺(tái)處理的相關(guān)任務(wù)、但再實(shí)際應(yīng)用過(guò)程中往往需要搭配一個(gè)GUI圖形化界面共同使用。在python中含有pyqt庫(kù),通過(guò)pyqt庫(kù)的調(diào)用可以實(shí)現(xiàn)GUI界面的功能,但是在使用pyqt5構(gòu)建GUI的過(guò)程中對(duì)界面組件的布局往往需要通過(guò)函數(shù)進(jìn)行設(shè)置,博主再使用過(guò)程中感到非常麻煩與不便,因此決定使用通過(guò)python調(diào)用QT的.ui文件,通過(guò).ui文件進(jìn)行設(shè)置GUI組件布局,使用python進(jìn)行數(shù)據(jù)的處理與函數(shù)邏輯的編寫(xiě)。

優(yōu)點(diǎn):QT Designer設(shè)計(jì)GUI布局美觀、便利,python編程簡(jiǎn)易。

前置:python(或pycharm)、QT(Qt Creator 或Qt Designer)

二、安裝pyqt5

pip install PyQt5

雖然博主使用QT進(jìn)行GUI頁(yè)面的構(gòu)建,但是內(nèi)部的一些邏輯采用python進(jìn)行編寫(xiě),因此仍然需要使用pyqt5。(有人可能會(huì)說(shuō)“既然還是需要下載pyqt5,為什么不直接使用pyqt5”,還是上面的話,QT設(shè)計(jì)GUI布局美觀,在ui文件中使用拖拽的方式更加直觀了解成型的GUI界面情況,便于調(diào)整)

三、GUI頁(yè)面設(shè)計(jì)

使用Qt Designer創(chuàng)建一個(gè)窗口,并添加一些組件。(本文僅作為基礎(chǔ)因此進(jìn)行簡(jiǎn)易的設(shè)計(jì))

四、python的使用

python文件創(chuàng)建

在test1.ui文件夾內(nèi)創(chuàng)建.py文件(便于后續(xù)調(diào)用)。

python程序的編寫(xiě)

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import *
#上述為需要調(diào)的庫(kù)
class MainWindow(QWidget):
    #初始化函數(shù)
    def __init__(self):
        super(MainWindow, self).__init__()
        self.init_ui()#ui窗口文件
        self.i = 0 #點(diǎn)擊次數(shù)
    def init_ui(self):
        self.Firstui = uic.loadUi("test1.ui")#首先讀取.ui文件
        self.push = self.Firstui.pushButton#將ui中的賦值 
        self.label = self.Firstui.label_2
        #按鍵的按下信號(hào)槽
        self.push.clicked.connect(self.on_push)

    #按鍵的槽函數(shù)
    def on_push(self, index):
        self.i=self.i+1
        self.label.setText("點(diǎn)擊第"+str(self.i)+"次")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    Window = MainWindow()
    Window.Firstui.show()
    app.exec_()

五、多窗口的應(yīng)用

GUI設(shè)計(jì)

python編程

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import *
#上述為需要調(diào)的庫(kù)
class MainWindow(QWidget):
    #初始化函數(shù)
    def __init__(self):
        super(MainWindow, self).__init__()
        self.init_ui()#ui窗口文件
        self.i = 0 #點(diǎn)擊次數(shù)
    def init_ui(self):
        self.Firstui = uic.loadUi("test1.ui")#首先讀取.ui文件
        self.push = self.Firstui.pushButton#將ui中的賦值
        self.push_2 = self.Firstui.pushButton_2
        self.label = self.Firstui.label_2 # 將ui中的賦值
        #按鍵的按下信號(hào)槽
        self.push.clicked.connect(self.on_push)

        self.push_2.clicked.connect(self.on_push2)
    #按鍵的槽函數(shù)
    def on_push(self, index):
        self.i=self.i+1
        self.label.setText("點(diǎn)擊第"+str(self.i)+"次")

    def on_push2(self, index):
        self.Firstui.close()
        Window2.Firstui.show()

class MainWindow2(QWidget):
    #初始化函數(shù)
    def __init__(self):
        super(MainWindow2, self).__init__()
        self.init_ui()#ui窗口文件

    def init_ui(self):
        self.Firstui = uic.loadUi("test2.ui")#首先讀取.ui文件

if __name__ == '__main__':
    app = QApplication(sys.argv)
    Window = MainWindow()
    Window2 = MainWindow2()
    Window.Firstui.show()
    app.exec_()

與一個(gè)窗口的區(qū)別在于當(dāng)觸發(fā)特定按鍵時(shí)利用.close()關(guān)閉當(dāng)前窗口同時(shí)使用.show對(duì)實(shí)例化的窗口對(duì)象進(jìn)行.shou()打開(kāi)。值得注意的是 .Firstui代表窗口,調(diào)用其他窗口是要使用類(lèi)名.Firstui進(jìn)行調(diào)用。

因?yàn)楸疚尼槍?duì)的是如何使用python調(diào)用QT的教程,因此對(duì)QT中一些其他的信號(hào)、組件及更多GUI界面的操作不做過(guò)多介紹。

總結(jié)

到此這篇關(guān)于python與QT聯(lián)合的文章就介紹到這了,更多相關(guān)python與QT聯(lián)合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的hypot()方法使用簡(jiǎn)介

    Python中的hypot()方法使用簡(jiǎn)介

    這篇文章主要介紹了Python中的hypot()方法使用簡(jiǎn)介,是Python入門(mén)所需掌握的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • django js實(shí)現(xiàn)部分頁(yè)面刷新的示例代碼

    django js實(shí)現(xiàn)部分頁(yè)面刷新的示例代碼

    今天小編就為大家分享一篇django js實(shí)現(xiàn)部分頁(yè)面刷新的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 基于Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel

    基于Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel

    Excel文件是我們常用的一種文件,在工作中使用非常頻繁。Excel中有許多強(qiáng)大工具,因此用Excel來(lái)處理文件會(huì)給我們帶來(lái)很多便捷。本文就來(lái)和大家分享一下Python實(shí)現(xiàn)文本文件轉(zhuǎn)Excel的方法,感興趣的可以了解一下
    2022-08-08
  • Python數(shù)據(jù)可視化之畫(huà)圖

    Python數(shù)據(jù)可視化之畫(huà)圖

    今天小編就為大家分享一篇關(guān)于Python數(shù)據(jù)可視化之畫(huà)圖,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • pytorch+sklearn實(shí)現(xiàn)數(shù)據(jù)加載的流程

    pytorch+sklearn實(shí)現(xiàn)數(shù)據(jù)加載的流程

    這篇文章主要介紹了pytorch+sklearn實(shí)現(xiàn)數(shù)據(jù)加載,之前在訓(xùn)練網(wǎng)絡(luò)的時(shí)候加載數(shù)據(jù)都是稀里糊涂的放進(jìn)去的,也沒(méi)有理清楚里面的流程,今天整理一下,加深理解,也方便以后查閱,需要的朋友可以參考下
    2022-11-11
  • Python實(shí)現(xiàn)奇數(shù)列與偶數(shù)列調(diào)換的方法詳解

    Python實(shí)現(xiàn)奇數(shù)列與偶數(shù)列調(diào)換的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)df的奇數(shù)列與偶數(shù)列調(diào)換位置,比如A列,B列,調(diào)換成B列,A列,感興趣的小伙伴可以了解一下
    2022-05-05
  • Python中如何生成GeoJSON數(shù)據(jù)

    Python中如何生成GeoJSON數(shù)據(jù)

    這篇文章主要介紹了Python中生成GeoJSON數(shù)據(jù),無(wú)論使用geojson庫(kù)還是geopandas庫(kù),都可以生成包含地理空間數(shù)據(jù)的GeoJSON文件,文中介紹了使用這些庫(kù)生成GeoJSON數(shù)據(jù)的簡(jiǎn)單示例,需要的朋友可以參考下
    2023-10-10
  • python中如何寫(xiě)類(lèi)

    python中如何寫(xiě)類(lèi)

    在本篇文章里小編給大家分享的是一篇關(guān)于python中寫(xiě)類(lèi)的方法和技巧,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 學(xué)習(xí)Python selenium自動(dòng)化網(wǎng)頁(yè)抓取器

    學(xué)習(xí)Python selenium自動(dòng)化網(wǎng)頁(yè)抓取器

    本篇文章給大家介紹了Python selenium自動(dòng)化網(wǎng)頁(yè)抓取器的實(shí)例應(yīng)用以及知識(shí)點(diǎn)分析,有需要的參考學(xué)習(xí)下。
    2018-01-01
  • python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例

    python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例

    今天小編就為大家分享一篇python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08

最新評(píng)論