亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于InterView框架柔性表格組件的設(shè)計(jì)與實(shí)現(xiàn)

        2011-03-15 14:30:28孟繁軍李慧哲
        關(guān)鍵詞:錯(cuò)字視圖字形

        孟繁軍, 李慧哲, 林 民

        (內(nèi)蒙古師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古呼和浩特 010022)

        目前,世界上出現(xiàn)了學(xué)習(xí)“漢語熱”現(xiàn)象,漢語教學(xué)和漢語推廣工作者發(fā)現(xiàn),學(xué)習(xí)漢字是漢語學(xué)習(xí)的瓶頸,而初學(xué)漢字者極易將漢字寫錯(cuò)[1]。然而,計(jì)算機(jī)系統(tǒng)中還沒有一種對(duì)錯(cuò)字進(jìn)行輸入輸出及有效管理的可行方案,也沒有較好地解決正字與錯(cuò)字同文顯示輸出、錯(cuò)字深層次處理問題[2]。目前處理錯(cuò)字的方法主要有:利用圖片嵌入文本顯示輸出;利用造字程序制作錯(cuò)字字模和輸入法鏈接實(shí)現(xiàn)顯示輸出[3]。以圖片方式顯示錯(cuò)字的方法不支持與常用漢字一樣的檢索和深層次加工處理,而制作字模比較復(fù)雜,同時(shí)自造錯(cuò)字占用用戶預(yù)留編碼區(qū),可選擇的范圍有限。文獻(xiàn)[4]提出了筆段網(wǎng)格漢字字形描述法,該方法提供了描述一切可能漢字字形(包括錯(cuò)字)骨架的能力,但該方法存在的問題嚴(yán)重影響了在數(shù)據(jù)庫中對(duì)錯(cuò)字字形和標(biāo)注文本的統(tǒng)一交互處理。

        本文介紹了一種基于Qt的InterV iew框架的表格組件設(shè)計(jì)實(shí)現(xiàn)方法,可以在表格單元中顯示、編輯自定義類型數(shù)據(jù),從而實(shí)現(xiàn)這些數(shù)據(jù)的統(tǒng)一布局和交互處理。實(shí)際系統(tǒng)使用表明,該表格組件可擴(kuò)展性強(qiáng),對(duì)多類型數(shù)據(jù)統(tǒng)一布局處理界面的設(shè)計(jì)和實(shí)現(xiàn)、建立復(fù)雜交互處理應(yīng)用[5,6]具有實(shí)用意義。

        漢字網(wǎng)格字形是一種采用平面網(wǎng)格結(jié)構(gòu)來描述漢字字形本質(zhì)特征的形式化方法。網(wǎng)絡(luò)結(jié)構(gòu)描述定義為:漢字字形網(wǎng)格[7]是由n×n個(gè)小正方形組成的大正方形;每個(gè)小正方形區(qū)域內(nèi)含有28個(gè)筆段;各頂點(diǎn)到它所在邊中點(diǎn)的連線共8段;各頂點(diǎn)到它對(duì)邊中點(diǎn)的連線,以連線中點(diǎn)為界分為2個(gè)筆段,共16段;對(duì)角線以中點(diǎn)為界分為2個(gè)筆段,共4段;整個(gè)網(wǎng)格有24n2+4n個(gè)筆段;網(wǎng)格中的每個(gè)筆段可以取有線和無線2種狀態(tài),所有有線筆段分布構(gòu)成了漢字的筆段網(wǎng)格字形。

        實(shí)驗(yàn)表明,n=12時(shí),可以表示絕大多數(shù)漢字的字形;n=16時(shí),可以表示所有的字形。例如“爨”采用16×16的網(wǎng)格字形描述,如圖1所示。

        圖1 筆段網(wǎng)格字形描述及舉例

        1 In terView框架簡(jiǎn)介

        InterView是 Q t4.0推出的一個(gè)類似于MVC模型的框架[8,9],主要由模型(M odel)、視圖(V iew)和代理(Delegate)3部分組成,其結(jié)構(gòu)如圖2所示。

        圖2 InterView框架結(jié)構(gòu)

        模型(M odel)和數(shù)據(jù)源(Date Source)通信,并為其它部件提供接口。視圖的主要功能是負(fù)責(zé)把數(shù)據(jù)按布局要求(表格、樹型等)展示給用戶,也處理用戶的編輯和輸入,它從模型中獲得模型索引(M odel Index),通過模型索引來引用要顯示的數(shù)據(jù)條目。視圖通過代理來繪制數(shù)據(jù)條目,當(dāng)編輯條目時(shí),代理和模型直接進(jìn)行通信。數(shù)據(jù)發(fā)生改變時(shí),模型發(fā)出信號(hào)通知視圖,若用戶對(duì)界面進(jìn)行了操作,視圖則發(fā)出信號(hào)通知代理,代理再發(fā)出信號(hào)告知模型和視圖目前的狀態(tài)。

        InterView模型定制的結(jié)構(gòu)與其它一些工具的組件相比,具有更大的靈活性和可擴(kuò)展性,并且用戶可以通過代理的代碼完成自定義數(shù)據(jù)類型的繪制,因此,對(duì)于軟件界面按統(tǒng)一布局實(shí)現(xiàn)矢量圖形的顯示、自定義類型數(shù)據(jù)的處理就更加靈活多樣。在傳統(tǒng)的開發(fā)工具中提供的控件,比如微軟的表格控件(Grid),由于采用數(shù)據(jù)、繪制和布局顯示一體化的方式,所以只有對(duì)系統(tǒng)預(yù)定義的類型才能顯示在表格的數(shù)據(jù)項(xiàng)中,而非標(biāo)準(zhǔn)的一些數(shù)據(jù)類型很難在表格上以統(tǒng)一布局來顯示相應(yīng)的內(nèi)容。

        在實(shí)際應(yīng)用中,利用Q t中的M odel/V iew架構(gòu),程序員重新編寫代理類的paint函數(shù)后,就可以在Q t的表格組件的單元格上顯示出一些非預(yù)定義類型的數(shù)據(jù)項(xiàng),比如位圖、各種矢量圖形數(shù)據(jù)、特殊字形等。本文正是通過Q t的這種代理類機(jī)制,很好地解決了在Qt表格中按統(tǒng)一布局風(fēng)格繪制位圖、網(wǎng)格字形及文本的功能。

        2 表格中繪制自定義類型的方法

        根據(jù)InterView模型可知,在Q t下實(shí)現(xiàn)繪制自定義類型或特殊類型的數(shù)據(jù)項(xiàng)時(shí),需要分別設(shè)計(jì)代理類,并重寫paint函數(shù)和sizeH int函數(shù),定義模型獲取數(shù)據(jù)源,最后通過代理類完成視圖中相應(yīng)內(nèi)容的繪制。本文以在表格(QTableView)視圖中實(shí)現(xiàn)定制表格組件繪制為例,說明在視圖中定制組件的技術(shù)方法。

        2.1 重載Delegates類的paint函數(shù)

        代理負(fù)責(zé)管理項(xiàng)目的輸入和項(xiàng)目的繪制,Qt中使用抽象類QAbstractItemDelegate作為代理類的基類,大部分情況下,可以直接從Qt已經(jīng)實(shí)現(xiàn)的通用QItemDelegate類繼承,這樣可以使用它提供的上述函數(shù)的缺省實(shí)現(xiàn),以減少代碼量。

        在本例中,由于數(shù)據(jù)源提供給模型的數(shù)據(jù)存放在數(shù)據(jù)庫中,因此,使用繼承于QItemDelegate類的QSq lRelationalDelegate派生出新的代理類hzTableDelegate。同時(shí),為了實(shí)現(xiàn)定制組件的繪制,必須重新實(shí)現(xiàn)paint函數(shù)。paint函數(shù)完成了從數(shù)據(jù)庫讀取相應(yīng)的矢量數(shù)據(jù)后,按照對(duì)應(yīng)的顯示區(qū)域,在QTableView中指定的位置重新繪制出信息結(jié)果,同時(shí)對(duì)于存儲(chǔ)在計(jì)算機(jī)的位圖等圖形信息也可以通過paint重新繪制。具體實(shí)現(xiàn)的主要代碼[10]為:

        2.2 模型的實(shí)現(xiàn)

        模型為視圖和代理提供了標(biāo)準(zhǔn)的接口。Qt中所有模型都是基于QAbstractItemM odel派生的。當(dāng)數(shù)據(jù)改變時(shí),模型發(fā)出信號(hào)通知視圖。為了保證數(shù)據(jù)的存取和表示分離,InterView引入了模型索引的概念,每個(gè)數(shù)據(jù)條目通過模型索引來獲取,視圖和代理使用索引來存取數(shù)據(jù)。

        如果要實(shí)現(xiàn)自定義的模型,可以從通用的QAbstractItemM odel類繼承,也可以從類QAbstractListModel與 QAbstractTableModel繼承實(shí)現(xiàn)列表模型或表格模型。實(shí)現(xiàn)自定義模型必須實(shí)現(xiàn)基類的純虛函數(shù)和其它一些特定函數(shù)。當(dāng)實(shí)現(xiàn)一個(gè)模型時(shí),QAbstractItemModel本身不存儲(chǔ)任何數(shù)據(jù),它僅僅提供了視圖訪問數(shù)據(jù)的接口。

        另外,無論底層的數(shù)據(jù)結(jié)構(gòu)采取何種形式,通過在特定的模型中實(shí)現(xiàn)標(biāo)準(zhǔn)的QAbstractItem-M odel的函數(shù),達(dá)到以更自然的方式對(duì)底層的數(shù)據(jù)結(jié)構(gòu)進(jìn)行訪問,因此,用數(shù)據(jù)構(gòu)建模型更為容易,對(duì)于其它的模型/視圖組件也可以使用標(biāo)準(zhǔn)的接口與之進(jìn)行交互。

        本例中,由于數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫中,所以沒有自定義模型,而是直接使用Qt提供的QSq l-RelationalTableM odel類生成M odel模型,它和QAbstractItemM odel的繼承關(guān)系如圖3所示。

        圖3 QSqlRelationalTableModel繼承關(guān)系圖

        程序中主要代碼為:

        以上程序代碼運(yùn)行的效果如圖4所示。

        圖4 示例程序運(yùn)行效果

        圖4中用圓角矩形標(biāo)注的2列中,網(wǎng)絡(luò)字形列為繪制的特殊形狀漢字,標(biāo)記列為繪制的位圖。

        3 結(jié)束語

        文中方法的實(shí)現(xiàn)程序在 Window s XP+ Qt4.5環(huán)境下調(diào)試通過。本文利用Q t的Inter-View框架,實(shí)現(xiàn)了在表格組件上繪制自定類型數(shù)據(jù)的一種方法,該方法為在開發(fā)復(fù)雜界面應(yīng)用程序中實(shí)現(xiàn)統(tǒng)一布局、建立一致性的交互接口提供了一種非常靈活、有效的途徑。目前,應(yīng)用該表格組件開發(fā)的一套漢字錯(cuò)字字形庫系統(tǒng)以統(tǒng)一風(fēng)格顯示、編輯錯(cuò)字字形、位圖及標(biāo)注文本等信息,取得了較好的效果。

        本文初稿首次刊登于《計(jì)算機(jī)技術(shù)與應(yīng)用進(jìn)展?2010》

        [1] 梁彥民.漢字部件區(qū)別特征與對(duì)外漢字教學(xué)[J].語言教學(xué)與研究,2004,(4):76-80.

        [2] 張問銀,孫星明,曾振柄,等.漢字?jǐn)?shù)學(xué)表達(dá)式的自動(dòng)生成[J].計(jì)算機(jī)研究與發(fā)展,2004,41(5):848-852.

        [3] 林 民,韓冬妹,宋 柔.基于GDI+路徑技術(shù)的漢字筆順和部件自動(dòng)繪制[J].計(jì)算機(jī)應(yīng)用研究,2007,24(8): 228-230.

        [4] 林 民,宋 柔.一種面向構(gòu)形計(jì)算的漢字字形形式化描述方法[J].中文信息學(xué)報(bào),2008,22(3):115-123.

        [5] Lee C,Helal S,Lee W.Universal interactions w ith smart spaces[J].IEEE Pervasive Computing,2006,5(1): 16-21.

        [6] Apitz G,Guimb retière F,C ross Y.A crossing-based drawing application[C]//Proceedings of the 17th Annual ACM Symposium on User In terface Softw are and Technology,San ta Fe,NM,USA,October 24-27,2004:3-12.

        [7] 王建平,陳正偉,欒慶磊,等.基于多群遺傳算法的漢字識(shí)別系統(tǒng)設(shè)計(jì) [J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2010,33(1):42-46.

        [8] Hartness K.Graphics and user in terfaces in C++w ith Qt [J].Jou rnal of Compu ting Sciences in Colleges,2005,20(4):198-199.

        [9] 蔡志明,盧傳富,李立夏.精通Qt 4編程[M].北京:電子工業(yè)出版社,2008:366-396.

        [10] Nokia Corporation.Qt reference documentation[DB/OL]. [2010-03-20].http://qt.nokia.com/doc/4.6/index.h tm l.

        猜你喜歡
        錯(cuò)字視圖字形
        易錯(cuò)字 來提醒
        錯(cuò)字在身邊
        甲骨文“黍”字形義考
        甲骨文中的字形直立化二則
        60秒找錯(cuò)字
        趣味(語文)(2018年9期)2018-12-23 02:19:58
        60秒找錯(cuò)字
        趣味(語文)(2018年7期)2018-06-26 08:13:54
        復(fù)習(xí)生字字形的方法
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        国产美女被遭强高潮露开双腿| 免费观看的av毛片的网站| 欧美性videos高清精品| 国产精品黄色片在线观看| 青青草免费视频一区二区| 久久婷婷五月综合色高清| 久久精品人人做人人综合| 欧美精品AⅤ在线视频| 好吊妞人成免费视频观看| 少妇av免费在线播放| 国产的自拍av免费的在线观看 | 国产亚洲超级97免费视频| 亚洲av无码久久精品狠狠爱浪潮 | 这里只有久久精品| 国产精品国产三级国av在线观看| 亚洲成人av在线蜜桃| 一本久久伊人热热精品中文字幕| 欧美一级三级在线观看| 日本最新在线一区二区| 国产日本精品视频一区二区| 伊人久久精品久久亚洲一区 | 精品人妻少妇一区二区中文字幕| 射进去av一区二区三区| 无码人妻h动漫中文字幕| 国产精品久久久久久人妻精品| 中文字幕一区韩国三级| 亚洲国产系列一区二区| 亚洲欧美日韩国产精品一区二区| 国产综合色在线视频| 亚洲一区二区日韩在线| 日本一本免费一二区| 色狠狠一区二区三区香蕉| 国产桃色精品网站| 澳门蜜桃av成人av| 免费无码一区二区三区蜜桃大| 乱人伦视频69| 一本大道久久a久久综合精品| 中文字幕一区二区三区四区五区| 国产激情精品一区二区三区| 国产96在线 | 免费| 91色区在线免费观看国产|