中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中Qt窗體開發的基本操作有哪些

發布時間:2021-08-12 14:26:05 來源:億速云 閱讀:142 作者:小新 欄目:開發技術

這篇文章主要介紹Python中Qt窗體開發的基本操作有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

正文:

首先看成品:

Python中Qt窗體開發的基本操作有哪些

這個程序的功能是輸入原價和降價的百分比,計算出最后的價格。

設計器部分

然后就是開發階段了,首先在Qt Designer中建立一個窗體,大概像圖片中的樣子,然后將控件都拖進去

Python中Qt窗體開發的基本操作有哪些

其中,“原價是多少啊”,“綠色的標標”這些文字類的控件是QLabel,第一個框框是QTextEdit,第二個標標是QDoubleSpinBox,或者使用QSpinBox都行,兩者主要是數字類型的不同,

提交按鈕是QPushButton,這里主要是想嘗試一下不同的控件,接下來點擊在圖片框上的QLabel,然后在屬性編輯器中將objectName命名為 labelResult ,QTextEdit命名為textPrice,QDoubleSpinBox

命名為dSBPer ,QPushButton命名為btnSub如圖:

Python中Qt窗體開發的基本操作有哪些

Python中Qt窗體開發的基本操作有哪些

Python中Qt窗體開發的基本操作有哪些

Python中Qt窗體開發的基本操作有哪些

這樣的命名方式并沒有什么特殊含義,只不過能夠讓鄙人記得更牢一些,以防止程序打到一半來回的看設計器。

這里有個比較麻煩的東西 ------------ 圖片框

圖片顯示本身是QLabel,所以顯示圖片需要先在設計器中放置一個QLbel控件,改控件在程序中沒有改動,所以名字默認就好,接下來還需要在資源管理器中添加資源文件,如圖:

Python中Qt窗體開發的基本操作有哪些

在Qt設計器中,只需在QLabel控件的pixmap屬性中載入即可,支持的文件可訪問Qt的文檔,我會在文章后面貼出

值得注意的是,資源文件在程序中的使用需要編譯為.py文件

編譯的代碼如下:

pyrcc4 -o a1_rc.py a1.qrc

程序部分

現在就開始程序部分的編輯了

第一步先導入有關Qt的庫

import sys
from PyQt4 import QtCore,QtGui,uic

然后創建Window初始化

qtCreatorFile = "" #.ui Window File

Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile)

接下來是基礎類的編寫

class MyApp(QtGui.QMainWindow,Ui_MainWindow):
  def __init__(self):
    QtGui.QMainWindow.__init__(self)
    Ui_MainWindow.__init__(self)
    self.setupUi(self)
    self.btnSub.clicked.connect(self.CalculateTax)

其中"self.btnSub.clicked.connect(self.CalculateTax)"中,btnSub是按鈕的名稱,clicked.connect是按鈕的點擊事件要執行的函數的連接,CalculateTax是我自己寫的點擊的函數,他將會在按鈕被點擊后調用

if __name__ == "__main__":
  app = QtGui.QApplication(sys.argv)
  window = App()
  window.show()
  sys.exit(app.exec_())

這一行在主程序中,是程序執行時顯示窗體的操作

接下來就開始寫CalculateTax(self)函數了,它放在App類中:

def CalculateTax(self):
    price = int(self.textPrice.toPlainText())
    tax = float(self.dSBPer.value())
    total_price = price-((tax/100)*price)
    total_price_string = u"你要記得你要花多少錢,預計的價格很便宜啊:"+str(total_price) +u"塊"+"\n"+u"看到沒有,還不快買"
    self.labelResult.setText(total_price_string )

"textPrice.toPlainText()"其中textPrice是控件的名稱,toPlainText()是控件的方法,這是獲取控件的文本內容,函數具體的詳細信息可以在Qt文檔中查詢,后面控件同理

有一點是在Qt中,如果中文顯示亂碼,需要將中文轉為指定的編碼,具體情況需要看程序的編碼,在本代碼中字符串前加u可直接轉碼。

# -*- coding: UTF-8 -*-

import sys
from PyQt4 import QtCore,QtGui,uic



qtCreatorFile = "untitled.ui" #Window File

Ui_MainWindow,QtBaseClass = uic.loadUiType(qtCreatorFile)

class App(QtGui.QMainWindow,Ui_MainWindow):
  def __init__(self):
    QtGui.QMainWindow.__init__(self)
    Ui_MainWindow.__init__(self)
    self.setupUi(self)
    self.btnSub.clicked.connect(self.CalculateTax)

  def CalculateTax(self):
    price = int(self.textPrice.toPlainText())
    tax = float(self.dSBPer.value())
    total_price = price-((tax/100)*price)
    total_price_string = u"你要記得你要花多少錢,預計的價格很便宜啊:"+str(total_price) +u"塊"+"\n"+u"看到沒有,還不快買"
    self.labelResult.setText(total_price_string )
    
    
    
if __name__ == "__main__":
  app = QtGui.QApplication(sys.argv)
  window = App()
  window.show()
  sys.exit(app.exec_())

以上是“Python中Qt窗體開發的基本操作有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南县| 甘孜县| 阿鲁科尔沁旗| 都江堰市| 治多县| 盐池县| 湘潭市| 巴林右旗| 涞水县| 澄迈县| 陆河县| 鄂尔多斯市| 托里县| 乐业县| 黄陵县| 洪洞县| 当涂县| 镇雄县| 杂多县| 循化| 莱州市| 麻江县| 敖汉旗| 图们市| 防城港市| 温宿县| 潞西市| 甘孜县| 遂平县| 开远市| 桂平市| 靖江市| 建平县| 乌苏市| 东阿县| 铜陵市| 花莲县| 全南县| 临西县| 来凤县| 根河市|