偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

有關(guān)Python程序大揭秘

開發(fā) 后端
本文中,David Mertz 和 Boudewijn Rempt 探討了 Qt 庫(kù),集中討論了允許 Python 程序員訪問(wèn) Qt 功能的 PyQt 綁定。

但是這個(gè)子類的作者需要相當(dāng)精確地理解 Logger.log_timestamp() 已經(jīng)做了什么;而且除非通過(guò)在子類中完全重寫 .log_timestamp() 方法并且不調(diào)用父方法,否則沒(méi)有辦法除去消息。

一個(gè)非?;镜?PyQt 應(yīng)用程序總有一些樣本代碼,這些代碼在哪里都相同,Tkinter 代碼也是這樣。但是,當(dāng)我們進(jìn)一步研究設(shè)置應(yīng)用程序所需的代碼,以及顯示窗口構(gòu)件的代碼時(shí),區(qū)別就顯現(xiàn)出來(lái)了。

工具箱是一個(gè)使用廣泛的跨平臺(tái) GUI 工具箱,可用于 Windows、Linux、Mac OSX 和許多手持平臺(tái)。QT 具有良好結(jié)構(gòu)化(但靈活)的面向?qū)ο蟮慕Y(jié)構(gòu)、清晰的文檔以及直觀的 API。

一般來(lái)說(shuō),選擇用于應(yīng)用程序的 GUI 工具箱會(huì)是一件棘手的事。使用 Python(許多語(yǔ)言也一樣)的程序員可以選擇的 GUI 工具箱種類繁多,而每個(gè)工具箱都有各自的優(yōu)缺點(diǎn)。

有些速度比其它工具箱快,有些比較?。挥行┮子诎惭b,有些更適合于跨平臺(tái)使用(對(duì)于這一點(diǎn),還要指出,有些支持您需要滿足的特定特性)。當(dāng)然,各種庫(kù)都相應(yīng)具有各種許可證。

對(duì)于 Python 程序員而言,缺省的 GUI 選擇是 Tk(通過(guò) Tkinter 綁定)— 其原因顯而易見。Tkinter 和閑置的 IDE 是由 Python 創(chuàng)始人編寫的。它們是作為大多數(shù) Python 分發(fā)版的缺省選擇而出現(xiàn)的。標(biāo)準(zhǔn) Python 文檔討論了 Tkinter,但沒(méi)有涉及任何其它 GUI 綁定。這是故意的!

至少可以這么認(rèn)為,如果 Tk 和 Tkinter 不是這么糟糕,程序員就沒(méi)有理由去尋找替代品了。要誘導(dǎo) Python 程序員放棄缺省選擇,那么工具箱必須提供額外的東西。PyQt 就是這樣一個(gè)工具箱。PyQt 所具有的優(yōu)點(diǎn)遠(yuǎn)遠(yuǎn)超過(guò)了 Tkinter(它也有幾個(gè)缺點(diǎn))。Qt 和 PyQt 速度都很快;Qt 和 PyQt 的設(shè)計(jì)完全是面向?qū)ο蟮模?/P>

Qt 提供了一個(gè)設(shè)計(jì)良好的窗口構(gòu)件集合,它比 Tk 所提供的要大得多。就其缺點(diǎn)而言,Qt 的許可證受到的限制比許多工具箱(至少在非 Linux 平臺(tái)方面)都多;正確安裝 Qt 和 PyQt 常常會(huì)很復(fù)雜;另外,Qt 是一個(gè)相當(dāng)大的庫(kù)。PyQt 應(yīng)用程序的用戶將需要設(shè)法完成安裝 Qt 和 PyQt,這使分發(fā)變得很困難。

PyQt 嚴(yán)格遵循 Qt 的發(fā)放許可。特別是,它可用于 UNIX/X11 平臺(tái)上的 GPL,并可用于 Zaurus 上的 Qt Palmtop Environment 環(huán)境。還存在用于較老的 Qt 版本的免費(fèi)(free-as-in-free-beer)Windows 軟件包。PyQt 的商業(yè)許可證可用于 Windows。

對(duì)于本文而言,PyQt 有一個(gè)方面優(yōu)于許多其它工具箱,它值得我們特別關(guān)注。Qt 使用一種稱為信號(hào)/插槽(signals/slots)的機(jī)制在窗口構(gòu)件(以及其它對(duì)象)之間傳遞事件和消息。

這種機(jī)制完全不同于包括 Tkinter 在內(nèi)的大多數(shù)工具箱所用的回調(diào)(callback)機(jī)制。使用信號(hào)/插槽以靈活且可維護(hù)的方式控制對(duì)象間通信要比使用脆弱的回調(diào)風(fēng)格容易得多。應(yīng)用程序越大,Qt 的這個(gè)優(yōu)勢(shì)就越重要。

【編輯推薦】

  1. 如何使Python嵌入C++應(yīng)用程序?
  2. 深入探討Ruby與Python語(yǔ)法比較
  3. Python學(xué)習(xí)資料介紹分享
  4. Python學(xué)習(xí)經(jīng)驗(yàn)談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責(zé)任編輯:chenqingxiang 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2009-10-23 13:32:34

.NET CRL

2020-12-28 09:50:50

Python內(nèi)存管理語(yǔ)言

2010-01-22 14:53:21

2010-02-03 13:37:59

Python 特性

2017-07-06 08:21:27

VSAN加密虛擬機(jī)

2009-05-28 10:12:04

2017-08-24 09:19:20

分解技術(shù)揭秘

2010-03-11 13:47:39

2024-05-08 16:54:21

Python編程開發(fā)

2017-07-05 16:43:52

VSAN加密虛擬化

2016-02-29 16:54:10

OpenStack混合云應(yīng)用軟件定義基礎(chǔ)設(shè)施

2010-02-26 09:55:22

Python應(yīng)用程序

2013-04-22 11:13:06

程序員編程誤區(qū)

2010-08-23 09:45:54

Windows Azu云計(jì)算微軟

2010-05-20 18:52:06

Eclipse使用SV

2011-12-19 20:49:16

Apple

2010-08-09 09:56:12

FlexBuilder

2010-03-01 17:15:03

Python程序開發(fā)

2019-11-07 22:12:50

網(wǎng)絡(luò)網(wǎng)絡(luò)體檢網(wǎng)絡(luò)技術(shù)

2019-10-31 08:50:25

網(wǎng)絡(luò)網(wǎng)絡(luò)體檢網(wǎng)絡(luò)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)