欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

詳解Python Qt的窗體開發的基本操作

系統 1615 0

本文章采用的是Qt4,是python(x,y) 套件中集成的,為啥不集成Qt5呢,懶得裝啊:)

正文:

首先看成品:

詳解Python Qt的窗體開發的基本操作_第1張圖片

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

設計器部分

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

詳解Python Qt的窗體開發的基本操作_第2張圖片

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

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

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

詳解Python Qt的窗體開發的基本操作_第3張圖片

詳解Python Qt的窗體開發的基本操作_第4張圖片

詳解Python Qt的窗體開發的基本操作_第5張圖片

詳解Python Qt的窗體開發的基本操作_第6張圖片

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

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

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

詳解Python Qt的窗體開發的基本操作_第7張圖片

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

后面附上Qt官方文檔網頁:

http://doc.qt.io/qt-5/classes.html

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费看h网站 | 国产精品嫩草影视在线观看 | 国产精品久久久AV久久久 | 欧美日韩后| 国产精品美女久久久久久久久久久 | 午夜视频在线观看一区 | 中国女人内谢69xxxx天美 | 精品国产福利久久久 | 欧美永久精品 | 中国一级特黄真人毛片免费看 | 毛片a级 | 一区二区三区日韩视频在线观看 | 日韩欧美一区二区三区免费观看 | 一级做a | 九九热这里 | 国产精品久久久久无毒 | 欧美精品日韩一区二区三区 | 亚洲日韩中文字幕一区 | 国产一级毛片夜一级毛片 | 天天色天天操天天射 | 九九九九精品视频在线播放 | 亚洲国产一区二区视频 | 澳门特级 片免费观看视频 久草最新在线 | 国产精品999在线观看 | 日本免费a视频 | 伊人亚洲 | 国产特黄级AAAAA片免 | 亚洲五月婷 | 91精品国模一区二区三区 | 三级日韩 | 欧美性喷潮xxxx | 精品视频| 香蕉视频99 | 婷婷在线观看网站 | 日韩第一区 | 亚洲成a人在线观看 | 久久久久久免费播放一级毛片 | 国产精品久久福利新婚之夜 | 欧美日韩久久 | 成人在线激情网 | 久久精品国产一区二区 |