999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt 平臺的品類自適應軟件設計實踐

2023-07-08 06:35:44楊旺喜周洋洋周峻丞
科技與創新 2023年12期
關鍵詞:內容用戶設計

楊旺喜,羅 征,周洋洋,周峻丞

(海裝駐天津地區第二軍事代表室,天津 300308)

在設計品類管理軟件時,如果將品類信息硬編碼到軟件中,當品類信息有更改時,就不得不修改和重新編譯發布軟件,即軟件對品類參數無可擴展性。

現將品類管理軟件只設計為一個軟件框架[1-3],讓它可以自適應讀取多級品類信息且可支持用戶選擇、實時統計和數據保存。圖1 為無配置文件時軟件啟動后的截圖,圖2 為品類配置文件截圖,圖3 為軟件加載品類配置文件后自適應加載信息后的截圖。

圖1 無配置文件時軟件啟動后截圖

圖2 配置文件示例

圖3 軟件加載圖2 所示的配置文件后的截圖

1 軟件框架設計

軟件采用3 級品類管理方式[4-5],第一級品類通過工具欄上的下拉框進行選擇,第二級品類通過軟件上的Tab 頁分類展示,第三級品類在各Tab 頁上具體呈現。3 級品類的具體內容都通過配置文件具體定義,軟件只提供框架功能,不定義具體品類內容。軟件框架如圖4 所示。

圖4 軟件框架圖

2 各級品類設計

2.1 第一級品類設計

第一級品類在軟件上設置為利用工具欄進行下拉選擇(QComboBox),下拉框的內容在軟件啟動時通過讀取配置文件夾中配置文件的名稱而定,如配置文件夾中有classA.conf、classB.conf 和classC.conf 共3個配置文件,軟件讀取后,第一級品類下拉框中被填入classA、classB 和classC 這3 個待選項。

當第一級品類下拉框中的某一個品類被選擇后,軟件首先析構當前所加載的品類內容,然后讀取被選品類對應的配置文件,按照配置文件的內容,構建Tab頁及展示每個Tab 頁的內容。

2.2 第二級品類設計

在第一級品類配置文件中,以中括號將第二級品類名稱括起來,如“[sub-classX]”,以此作為各第二級品類的分隔和第二級品類的名稱。軟件將以第二級品類的數量創建對應數量的Tab 頁,將Tab 頁重命名為第二級品類名稱(無中括號),并將默認Tab 頁設為第一個Tab 頁。

2.3 第三級品類設計

在第一級品類配置文件中,每2 個第二級品類名稱之間的行就是第三級品類的內容(屬于上一個第二級品類),其中每一行是一種品類,設計如下(舉例):

“工服C;203.0;160,165,170,175,180,185,190;86,88,90,92,94,96,98,100,104,108,110;3”

上面的例子表示,第三級品類之一為“工服C”,其單價為203.0 元,可選衣長有“160,165,170,175,180,185,190”這7 個尺碼,可選衣寬為“86,88,90,92,94,96,98,100,104,108,110”這11 個尺碼,最多可選數量為3件。這幾個參數用分號分隔。

軟件的每個Tab 頁內最外層是一個列布局(QVlayout),以實現軟件窗口組件自適應窗口大小。該列布局里面是一個滾動窗口(QScrollArea),以實現有較多第三級品類內容時可以通過滾動鼠標或點擊下移按鈕展示所有內容。在滾動窗口中又是一個列布局,以存放具體的第三級品類內容。

軟件解析第三級品類的行內容(以上面第三級品類為例),針對每一行,在軟件創建一個行布局。行布局中第一個組件是QCheckBox(復選框),以供用戶選擇該品類;行布局的第二個組件是QLable(標簽),對應于價格;行布局中的第三個組件是QLable(標簽),用于展示該品類的照片;行布局的第四個組件是一個列布局,列布局的2 個組件都是行布局,行布局中是多個QRadioButton(單選框),對應于衣長和衣寬尺碼選項;行布局的第五個組件是一個QSpinBox(自旋框),它可選數字上限為第三級品類配置的最后一個參數。

每2 個第三級品類的行布局之間用橫線分割,以增加軟件的可讀性。

2.4 第三級品類圖片自適應設計

將第三級品類圖片保存為配置文件中第三級品類名稱,由軟件解析到品類名稱后,據此名稱從軟件的資源文件夾加載對應的圖片,具體為先由QFile 將圖片文件讀取到字節序列變量(QByteArray)中,再將此字節序列變量轉化成一個QImage,最后將它轉化為QPixmap(位圖)。

2.5 第三級品類配置字段不同時的設計

當第三級品類的配置行字段數量不同時,軟件如何自適應讀取呢?如有這樣一個配置行:

“工服帽B;62.23;59,60,61,62,63,64,65;1”

相較于前面“工服C”的例子,“工服帽”僅有一個尺碼型號,其他品類可能只有“均碼”這樣的尺碼描述。解決辦法是軟件讀取配置時需要判斷分號的個數,以此來判斷有幾個尺碼維度,進而決定行布局的第四個組件是否要創建為一個列布局。

2.6 第一級品類在線切換設計

在第一級品類被選擇后,所有的第二、三級品類信息都會被加載到軟件框架中,第二級品類內容的切換通過點擊不同的Tab 頁就可以實現;但第一級品類的切換,涉及到軟件析構當前頁面內容再重新加載新的配置文件,過程會復雜很多。

首先是遍歷每個Tab 頁,獲取每個Tab 頁里的布局,繼而獲取該布局中的第一個子元素,如果該子元素里有布局,則采用遞歸的方式繼續獲取里面的子布局,否則獲取子布局中的QWidget(窗口),析構此Widget,最后要把所有的Tab 頁進行析構。Tab 頁進行析構的執行流程如圖5 所示。

圖5 Tab 頁進行析構的執行流程圖

3 統計功能設計

通過上面的設計,可以實現軟件框架自適應讀取品類配置文件,但軟件的目的是為了實時統計(如實時顯示用戶所選品類總數、總價等)和保存數據。

統計功能的實現,需要在創建第三級品類QCheckBox(復選框)和QSpinBox(自旋框)時注冊這2 個組件信號的槽函數,當用戶選擇某個品類時,被觸發的槽函數首先遍歷本Tab 頁所有的品類行布局,直到找到發出信號的品類,然后從該行找到具體內容(如價格和數量等),將計算出的單項值合到軟件所保存的總體值中,以實時為用戶顯示統計值。對于取消勾選的情況,也是類似的。

4 保存功能設計

遍歷所有Tab 頁,遍歷Tab 頁中與第三級品類對應的行布局,進一步解析出代表品類名的復選框及表示所選數量的自旋框,以判斷用戶是否選擇了該品類及獲取用戶所選的數量,這些信息綜合起來就構成了要保存的材料。

將用戶所選保存到結果文檔中,用戶需要在軟件框架中輸入特征信息,如身份、時間、組別等,然后以用戶輸入的特征信息為文件名創建文件,接著將軟件中用戶所選的信息及統計結果保存到該文件中。

5 讀取和更改保存的文件

軟件用戶在保存結果文件后,如果想更改之前的選擇清單,可以在軟件框架中通過“文件→打開”選項導入之前生成的結果文件,以使軟件顯示上次清單內容。其關鍵點為:依據清單中的第二級品類名打開對應的Tab 頁面,依據清單中的第三級品類名定位到具體的品類布局行,繼而將第三級品類復選框置為勾選狀態,選定其他配置(如尺碼),設置所選數量。再次保存文件時設計為提醒用戶是否覆蓋,或者重命名。

6 結束語

針對在軟件中硬編碼品類信息的缺點,本文設計了可以品類自適應的軟件框架,以3 級品類管理為例,介紹了整體軟件框架和各級品類設計、統計及保存功能,詳細介紹了第一、二、三級品類在軟件上的實現方法及第一級品類的在線切換方法,是一種參數自適應式的軟件設計思路,對其他類似軟件在設計上有一定的借鑒參考意義。

猜你喜歡
內容用戶設計
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 国产精品19p| 日韩国产另类| 蝴蝶伊人久久中文娱乐网| 在线无码九区| 免费中文字幕一级毛片| 91福利免费| 日韩美毛片| 国产午夜人做人免费视频中文| 91精品日韩人妻无码久久| 91久久夜色精品国产网站| 欧美.成人.综合在线| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩免费成人| 女人18毛片一级毛片在线| 亚洲精品国产自在现线最新| 日韩高清在线观看不卡一区二区| 久久精品娱乐亚洲领先| 人妻无码一区二区视频| 色综合天天综合中文网| 国产女人在线| 福利在线不卡| 91青青草视频在线观看的| 四虎永久免费地址在线网站| 亚洲AV无码乱码在线观看裸奔| 亚洲成人动漫在线观看| 制服无码网站| AV不卡在线永久免费观看| 中文字幕有乳无码| 日韩国产另类| 草逼视频国产| 国产在线精彩视频二区| 色偷偷一区| 91啦中文字幕| 欧美日韩精品综合在线一区| 嫩草国产在线| 亚洲av综合网| 国产三级国产精品国产普男人| …亚洲 欧洲 另类 春色| 亚洲日本中文字幕乱码中文| 国产美女一级毛片| 色婷婷综合在线| 国产午夜人做人免费视频中文 | 欧美高清国产| 香蕉蕉亚亚洲aav综合| 3D动漫精品啪啪一区二区下载| 日韩乱码免费一区二区三区| 91精品国产自产91精品资源| 欧美日韩国产在线人成app| 日本精品视频| 亚洲色图另类| 99re在线观看视频| 97av视频在线观看| 免费看黄片一区二区三区| 欧美日韩国产成人在线观看| 国产91麻豆免费观看| 国产自视频| 青青青亚洲精品国产| 伊人久久婷婷五月综合97色| 亚洲最猛黑人xxxx黑人猛交 | 九九久久精品免费观看| 久久99国产综合精品1| 国内精品视频区在线2021| 日本91在线| 欧美中文字幕在线二区| 无码日韩精品91超碰| 欧洲精品视频在线观看| 99视频精品全国免费品| 超清人妻系列无码专区| 国产成人精品免费av| 欧美日韩国产综合视频在线观看| 毛片视频网址| 国产精品播放| 黄色福利在线| 久久久成年黄色视频| 国产精品无码制服丝袜| 五月天婷婷网亚洲综合在线| 91小视频版在线观看www| 四虎永久在线视频| 免费国产高清精品一区在线| 人妻精品久久久无码区色视| 亚洲国产系列| 99久久精品免费视频|