真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pyqt5與html數(shù)據(jù)交互的原理是什么

本文小編為大家詳細(xì)介紹“pyqt5與html數(shù)據(jù)交互的原理是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“pyqt5與html數(shù)據(jù)交互的原理是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

創(chuàng)新互聯(lián)專注于新和企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。新和網(wǎng)站建設(shè)公司,為新和等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

部分核心代碼解析

共享類

我們先來看看共享類。

class Myshared(QWidget):

finish = pyqtSignal(list)

def __init__(self):

super().__init__()

def PyQt52WebValue(self):

return "666"

def Web2PyQt5Value(self, str):

info = str.split()

fullinfo = "用戶名:{},密碼:{}".format(info[0], info[1])

QMessageBox.information(self, "從Web頁面?zhèn)髦档絇yQt5", fullinfo)

self.finish.emit(info)

value = pyqtProperty(str, fget=PyQt52WebValue, fset=Web2PyQt5Value)

在這個(gè)共享類里面我們比以前多了一個(gè)新的知識點(diǎn):pyqtProperty。

使用pyqtProperty()函數(shù)定義新的PyQt屬性。 它的使用方式與標(biāo)準(zhǔn)的Python property()函數(shù)相同。 事實(shí)上,以這種方式定義的PyQt屬性也表現(xiàn)為Python屬性。

那么問題又來了,什么是Python property()函數(shù)??

根據(jù)Python的幫助文檔上的介紹,它的完全形式是這樣的:

class property(fget=None, fset=None, fdel=None, doc=None)

作用是返回Python的某一個(gè)屬性。

fget是獲取屬性值的函數(shù)。 fset是用于設(shè)置屬性值的函數(shù)。 fdel是用于刪除屬性值的函數(shù)。 doc為該屬性創(chuàng)建了一個(gè)docstring。

典型用法是定義可被管理的屬性x:

class C:

def __init__(self):

self._x = None

def getx(self):

return self._x

def setx(self, value):

self._x = value

def delx(self):

del self._x

x = property(getx, setx, delx, "I'm the 'x' property.")

如果c是C的實(shí)例,c.x將調(diào)用getter,c.x = value將調(diào)用setter和del c.x將調(diào)用delx。

如果給定,doc將是property屬性的docstring。 否則,該屬性將復(fù)制fget的docstring(如果存在)。

這使得使用property()作為裝飾器可以輕松創(chuàng)建只讀屬性:

class Parrot:

def __init__(self):

self._voltage = 100000

[email?protected]

def voltage(self):

"""得到當(dāng)前voltage的值"""

return self._voltage

@property裝飾器將voltage()方法轉(zhuǎn)換為具有相同名稱的只讀屬性。

屬性對象具有可用作裝飾器的getter,setter和deleter方法,這些方法創(chuàng)建屬性的副本,并將相應(yīng)的訪問函數(shù)設(shè)置為裝飾函數(shù)。舉例如下:

class C:

def __init__(self):

self._x = None

[email?protected]

def x(self):

"""我是'x'屬性"""

return self._x

[email?protected]

def x(self, value):

self._x = value

[email?protected]

def x(self):

del self._x

此代碼與第一個(gè)示例完全等效:

x = property(getx, setx, delx, "I'm the 'x' property.")

請務(wù)必為其他函數(shù)指定與原始屬性相同的名稱(在本例中為x)。

返回的屬性對象還具有與構(gòu)造函數(shù)參數(shù)對應(yīng)的屬性fget,fset和fdel。

在PyQt5中,它是這么用的:

PyQt5.QtCore.pyqtProperty(type[, fget=None[, fset=None[, freset=None[, fdel=None[, doc=None[, designable=True[, scriptable=True[, stored=True[, user=False[, constant=False[, final=False[, notify=None[, revision=0]]]]]]]]]]]]])

感覺很復(fù)雜!

創(chuàng)建一個(gè)既作為Python屬性又作為PyQt屬性的屬性。

參數(shù):

type - 屬性的類型。 它是Python類型對象或字符串。

fget - 用于獲取屬性值的,可選。

fset - 用于設(shè)置屬性值的,可選。

freset - 用于將屬性值重置為其默認(rèn)值的,可選。

fdel - 用于刪除屬性的,可選。

doc - 屬性的docstring,可選。

designable - 設(shè)置Qt DESIGNABLE標(biāo)志,可選。

scriptable - 設(shè)置Qt SCRIPTABLE標(biāo)志,可選。

stored - 設(shè)置Qt STORED標(biāo)志,可選。

user - 設(shè)置Qt USER標(biāo)志,可選。

constant - 設(shè)置Qt CONSTANT標(biāo)志,可選。

final - 設(shè)置Qt FINAL標(biāo)志,可選。

notify - 未綁定通知信號,可選。

revision - 導(dǎo)出到QML的修訂版。

返回類型:屬性對象。

也可以使用pyqtProperty()作為裝飾器,方法與標(biāo)準(zhǔn)Python property()函數(shù)相同。 以下示例顯示如何使用getter和setter定義int屬性:

from PyQt5.QtCore import QObject, pyqtProperty

class Foo(QObject):

def __init__(self):

QObject.__init__(self)

self._total = 0

[email?protected](int)

def total(self):

return self._total

[email?protected]

def total(self, value):

self._total = value

好了,現(xiàn)在我們回過頭來再看下我們自己定義的共享類。

def PyQt52WebValue(self):

return "666"

寫上,但是后面我們沒用。

def Web2PyQt5Value(self, str):

info = str.split()

fullinfo = "用戶名:{},密碼:{}".format(info[0], info[1])

QMessageBox.information(self, "從Web頁面?zhèn)髦档絇yQt5", fullinfo)

self.finish.emit(info)

當(dāng)我們得到從Web頁面?zhèn)鱽碇档臅r(shí)候,我們處理一下,分成用戶名和密碼,并將其通過自定義信號發(fā)射出去。

value = pyqtProperty(str, fget=PyQt52WebValue, fset=Web2PyQt5Value)

讀到這里,這篇“pyqt5與html數(shù)據(jù)交互的原理是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享名稱:pyqt5與html數(shù)據(jù)交互的原理是什么
當(dāng)前網(wǎng)址:http://weahome.cn/article/igoppp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部