在如今的數(shù)字化時(shí)代,軟件工具十分常見(jiàn)。要是有一個(gè)軟件宣稱能夠進(jìn)行窗體設(shè)計(jì),然而實(shí)際上卻大大降低了效率,那這就成了一個(gè)問(wèn)題。這會(huì)讓我們?nèi)ニ妓鳎@個(gè)軟件到底是否值得被使用?
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/

軟件基本功能入口


軟件選擇 Main 后點(diǎn)擊創(chuàng)建按鈕可進(jìn)入窗體設(shè)計(jì)頁(yè)面,此方式看似便捷,實(shí)則效率不高。這或許是軟件設(shè)計(jì)流程存在缺陷,比如在數(shù)據(jù)讀取或頁(yè)面轉(zhuǎn)換時(shí)可能會(huì)卡頓。像我曾在 X 公司做項(xiàng)目時(shí),使用類似功能,每次進(jìn)入都需等好幾秒,這就是在浪費(fèi)時(shí)間成本。從另一角度講,若這種效率問(wèn)題不改善,使用該軟件進(jìn)行大規(guī)模或小型項(xiàng)目都可能導(dǎo)致進(jìn)程嚴(yán)重滯后。


另外,軟件具備對(duì)象查看器、屬性編輯器等常見(jiàn)的功能。這些功能從表面上看是很齊全的,然而還需要看它們?cè)趯?shí)際操作中的便捷程度。比如,當(dāng)我在處理一個(gè)緊急項(xiàng)目時(shí),屬性編輯器的搜索功能始終無(wú)法找到所需的屬性,這著實(shí)讓人感到煩惱。
桌面程序的初步實(shí)現(xiàn)

要實(shí)現(xiàn)第一個(gè)桌面程序,我們需要在其中添加組件,比如添加一個(gè)按鈕以及一個(gè) Hello World 文本框。這是基本的操作步驟。但是,如果在添加過(guò)程中出現(xiàn)對(duì)齊或定位方面的問(wèn)題,對(duì)于新手用戶而言,他們就會(huì)不知道該怎么辦。我曾經(jīng)教過(guò)一個(gè)新手學(xué)習(xí)這種操作,他因?yàn)榘粹o和文本框無(wú)法很好地排列,而花費(fèi)了很長(zhǎng)時(shí)間去進(jìn)行調(diào)整,主要原因是軟件缺少有效的布局提示。
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label.setText(_translate("MainWindow", "Hello World"))
self.pushButton.setText(_translate("MainWindow", "第一個(gè)按鈕"))import sys from PyQt5.QtWidgets import QApplication,QMainWindow import PMain # 導(dǎo)入剛剛生成的Python 文件 if __name__ == '__main__': app = QApplication(sys.argv) # 創(chuàng)建應(yīng)用程序?qū)嵗? MainWindow = QMainWindow() # 創(chuàng)建主窗口實(shí)例 ui = PMain.Ui_MainWindow() # 創(chuàng)建剛剛設(shè)計(jì)的 Main 窗口實(shí)例 ui.setupUi(MainWindow) # 將 PMain 窗體與 MainWindow 合并 MainWindow.show() sys.exit(app.exec_()) # 執(zhí)行退出命令
而且在命令運(yùn)行結(jié)束后會(huì)生成 PMain.py 文件,其中的代碼展示是我們需要留意的地方。對(duì)于經(jīng)驗(yàn)豐富的程序員而言,他們能夠迅速?gòu)拇a中找到有用的信息,然而新手可能會(huì)對(duì)此感到困惑不解,這就體現(xiàn)出軟件的新手引導(dǎo)是非常有必要的。

組件屬性與方法調(diào)用

對(duì)于組件屬性而言,如果要把.ui 文件轉(zhuǎn)換為.py 文件,然后通過(guò)對(duì)象來(lái)調(diào)用其方法,倘若這個(gè)過(guò)程不簡(jiǎn)便,就會(huì)對(duì)工作效率產(chǎn)生阻礙。之前在 Y 項(xiàng)目里,由于文件轉(zhuǎn)換過(guò)程容易出錯(cuò),所以導(dǎo)致了反復(fù)操作,浪費(fèi)了好幾個(gè)小時(shí)的時(shí)間。

以按鈕這種組件為例,在信號(hào)/槽編輯中設(shè)置事件時(shí),其 click()等方法的操作路徑是否清晰是很重要的。在 B 公司的一次測(cè)試中,有不少測(cè)試者反饋不清楚應(yīng)在何處準(zhǔn)確地設(shè)置按鈕的單擊事件,這些都是軟件設(shè)計(jì)需要改進(jìn)的細(xì)節(jié)之處。

特殊組件的功能特點(diǎn)

Label 組件具備簡(jiǎn)易的外觀設(shè)置。然而,倘若相關(guān)屬性的命名不夠直觀,就會(huì)致使使用者難以對(duì)其進(jìn)行理解。比如依據(jù)我的經(jīng)驗(yàn)來(lái)看,某些不常被使用的屬性,倘若沒(méi)有詳細(xì)的解釋文檔,即便對(duì)于老用戶而言,也很難知曉其用途。

Line Edit 組件能夠設(shè)置一些屬性,用于展示用戶提示信息,這對(duì)提升用戶體驗(yàn)有幫助。然而,倘若沒(méi)有默認(rèn)的合理設(shè)置,每次都需用戶手動(dòng)進(jìn)行調(diào)整,這會(huì)很麻煩。在某些公益項(xiàng)目中,可能由于這個(gè)問(wèn)題,使得不熟悉軟件的志愿者在制作登錄窗口時(shí),在組件調(diào)整上花費(fèi)過(guò)多時(shí)間。

默認(rèn)樣式與修改

這些組件的默認(rèn)展示風(fēng)格是英國(guó)式的,卻需用戶手動(dòng)進(jìn)行更改。在國(guó)際化項(xiàng)目里,對(duì)于全球各地的用戶而言,若每次都得手動(dòng)調(diào)整像 Date/Time Edit 這類組件的屬性,那是極為繁瑣的。就像我參與的那個(gè)國(guó)際合作項(xiàng)目,這使得一些國(guó)外用戶反饋使用體驗(yàn)不佳,軟件未及時(shí)依據(jù)用戶地理位置提供合適的默認(rèn)設(shè)置。
pyuic5 -o PMain.py Main.ui

對(duì)于復(fù)選框組件的選中狀態(tài)設(shè)置,操作看似簡(jiǎn)單。然而,若在操作過(guò)程中沒(méi)有提示引導(dǎo),就有可能引發(fā)誤操作。比如,曾在一個(gè)線上培訓(xùn)課程里,許多學(xué)員在設(shè)置復(fù)選框?qū)傩詴r(shí),將選中狀態(tài)弄錯(cuò)了,出現(xiàn)了選中狀態(tài)與預(yù)期相反的情況。
def btn_click(self): QtWidgets.QMessageBox.information(self.pushButton_2,"彈窗","彈窗內(nèi)容")
高級(jí)組件的操作要點(diǎn)

Tree View 和 Table View 這兩個(gè)組件,在操作時(shí)涉及到的拖拽動(dòng)作以及數(shù)據(jù)添加動(dòng)作都需要去熟悉。在一些大型項(xiàng)目中,像企業(yè)資源管理系統(tǒng)的開(kāi)發(fā)這樣的項(xiàng)目,這些組件能否正確使用關(guān)乎到數(shù)據(jù)展示和管理的有效性。倘若操作步驟較為復(fù)雜并且容易出錯(cuò),就會(huì)對(duì)項(xiàng)目的整體進(jìn)度產(chǎn)生影響。就如同之前在 Z 公司的項(xiàng)目里,由于 Tree View 組件的數(shù)據(jù)添加出現(xiàn)錯(cuò)誤,重新返工耗費(fèi)了大量額外的人力成本。

讀到這里的朋友們,你們?cè)谑褂妙愃栖浖M(jìn)行窗體設(shè)計(jì)時(shí),有沒(méi)有遇到特別讓自己困擾的問(wèn)題?希望大家能夠多多進(jìn)行評(píng)論互動(dòng),要是覺(jué)得文章不錯(cuò),也請(qǐng)點(diǎn)贊并分享。

標(biāo)簽:
本文鏈接:http://m.www9463.cn/xinwendongtai/1540.html
版權(quán)聲明:站內(nèi)所有文章皆來(lái)自網(wǎng)絡(luò)轉(zhuǎn)載,只供模板演示使用,并無(wú)任何其它意義!