九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python Rapid GUI Programming 第二篇。 30行寫一個(gè)更奇葩的計(jì)...

Python Rapid GUI Programming 第二篇。 30行寫一個(gè)更奇葩的計(jì)算器。Python 基礎(chǔ)教程

接上一篇GUI編程的日志,現(xiàn)在我們來寫一個(gè)正常點(diǎn)程序。先讓我們看一下程序的樣子。

看似正常多了。我們有了一個(gè)框框,一個(gè)X。而且不需要命令行輸入了!

根據(jù)上一篇日志所述,我們需要載入模塊。

先載入QT4所用的模塊以及計(jì)算所用的math模塊。

from __future__ import division     #精確除法import sysfrom math import *from PyQt4.QtCore import *from PyQt4.QtGui import *

根據(jù)截圖,這個(gè)應(yīng)用程序用了兩個(gè)widgets ,一個(gè)是QTextBrowser這是一個(gè)只讀的文本或者HTML查看器, 另一個(gè)是QLineEdit 是一個(gè)單行的可寫的文本查看器。

根據(jù)QT的規(guī)則,所有的字符都為Uni編碼。

def __init__(self, parent=None):        super(Form, self).__init__(parent)        self.browser = QTextBrowser()        self.lineedit = QLineEdit("Type an expression and press Enter")        self.lineedit.selectAll()        layout = QVBoxLayout()        layout.addWidget(self.browser)        layout.addWidget(self.lineedit)        self.setLayout(layout)        self.lineedit.setFocus()        self.connect(self.lineedit, SIGNAL("returnPressed()"),                     self.updateUi)        self.setWindowTitle("Calculate coding by Kaysin")

這樣就完成了初始畫面的定義。

QVBoxLayout()  就是一個(gè)可以放置widget的頁面。

而下面的addWidget方法,就是將所創(chuàng)建的widget添加進(jìn)新的頁面。

下面有觸發(fā)信號(hào),按下回車。

載入函數(shù) upadteUi

def updateUi(self):        try:            text = unicode(self.lineedit.text())            self.browser.append("%s = <b>%s</b>" % (text, eval(text)))        except:            self.browser.append(                    "<font color=red>%s is invalid!</font>" % text)

這個(gè)很好理解,就是判斷輸入是否合法,出現(xiàn)異常則輸出不合法。

我們看下源程序。

from __future__ import divisionimport sysfrom math import *from PyQt4.QtCore import *from PyQt4.QtGui import *class Form(QDialog):    def __init__(self, parent=None):        super(Form, self).__init__(parent)        self.browser = QTextBrowser()        self.lineedit = QLineEdit("Type an expression and press Enter")        self.lineedit.selectAll()        layout = QVBoxLayout()        layout.addWidget(self.browser)        layout.addWidget(self.lineedit)        self.setLayout(layout)        self.lineedit.setFocus()        self.connect(self.lineedit, SIGNAL("returnPressed()"),                     self.updateUi)        self.setWindowTitle("Calculate coding by Kaysin")    def updateUi(self):        try:            text = unicode(self.lineedit.text())            self.browser.append("%s = <b>%s</b>" % (text, eval(text)))        except:            self.browser.append(                    "<font color=red>%s is invalid!</font>" % text)app = QApplication(sys.argv)form = Form()form.show()app.exec_()
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PyQt5
基于 Python 與Qt 的快速GUI 編程
PyQt5基礎(chǔ)知識(shí) 超詳細(xì)?。。。êa)
PyQt5快速入門(四)PyQt5高級(jí)窗口組件
實(shí)戰(zhàn)PyQt5: 113-QSS 定制窗口的標(biāo)題欄
使用pyqt5 參數(shù)樹來呈現(xiàn)量化回測結(jié)果
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服