• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            visualfc

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              42 隨筆 :: 0 文章 :: 119 評(píng)論 :: 0 Trackbacks
            為了測(cè)試一下GUI自動(dòng)排版,照著自己的手機(jī)做了一個(gè)GUI程序界面。特此發(fā)圖以留紀(jì)念。

            posted on 2009-09-17 22:29 visualfc 閱讀(2393) 評(píng)論(10)  編輯 收藏 引用

            評(píng)論

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。 2009-09-17 23:45 diverger
            博主說(shuō)的自動(dòng)排版是指類(lèi)型于QT或者wxWidgets的layout的功能嗎?  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。[未登錄](méi) 2009-09-18 08:17 visualfc
            是的,使用了相似的layout功能來(lái)完成。  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。 2009-09-18 10:02 codespy
            博主能否介紹下布局的原理呢?  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。[未登錄](méi) 2009-09-18 12:18 visualfc
            如果詳細(xì)講,恐怕不只一篇文章能講得完,在這里僅簡(jiǎn)單介紹一下實(shí)現(xiàn)原理。
            圖中的布局僅使用boxlayout來(lái)完成,如果配合space可以完成更多控制。
            這個(gè)布局控制與QT和WX有所不同,其子窗口由父窗口管理,layout僅具備算法功能,因此理論上可以對(duì)窗口任意切換layout。

            //代碼原理如下
            class xwnd
            {
            xwnd* first;xwnd* last;xwnd* prev;xwnd*next;
            xlayout* layout;
            //調(diào)用排版功能
            void layout()
            {
            if (_layout)
            _layout->layout(this);
            for (xwindow* child = _first; child; child = child->_next)
            {
            child->layout();
            }
            }
            };
            class xwindow : xwnd;
            class xframe : xwindow;
            class xspace : xwindow;不生成實(shí)際的窗口,只是一個(gè)占位。

            //示例如下:
            xframe* frame = new xframe(_T("TEST")); //框架
            frame->set_layout(xboxlayout(true));//設(shè)置HORZ_BOX
            new xedit(frame,LAYOUT_FILL,xsize(100,100)); //左面的EDIT窗口
            xwindow* right = new xwindow(frame); //右面的窗口做為容器
            right->setlayout(xboxlayout(false)); //設(shè)置VERT_BOX
            new xspace(right,LAYOUT_FILL_Y); //促使OK和CANCEL按鈕置于最下
            new xbutton(right,_T("OK"));
            new xbutton(right,_T("Cancel"));

            frame->create(); //最后生成框架窗口并顯示


              回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。 2009-09-20 21:47 codespy
            主要的布局有兩種,一種是一維的(水平盒子,垂直盒子),另一種是二維的(網(wǎng)格布局)。此圖上的鍵盤(pán)布局是二維的,難道是用一維布局組合的嗎?

            對(duì)于“這個(gè)布局控制與QT和WX有所不同,其子窗口由父窗口管理,。。。”,
            這個(gè)與Qt相同。  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。 2009-09-20 21:49 codespy
            補(bǔ)充一下,有兩張圖片看不到(顯示的是兩個(gè)紅叉)!  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。[未登錄](méi) 2009-09-21 08:01 visualfc
            @codespy
            我的表達(dá)可能不太準(zhǔn)確,“這個(gè)布局控制與QT和WX有所不同,其子窗口由父窗口管理,。。。” 這段話(huà)指的是在WX和QT中使用的是 Lyaout->addWidget(child)的形式,而在此布局中則由 new child(parent)的方式來(lái)指定。
            為了試驗(yàn)布局是否準(zhǔn)確,此例中的鍵盤(pán)布局使用的也是hbox和vbox的組合。即將鍵盤(pán)grid看成是一個(gè)vbox和四個(gè)hbox組合。  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。[未登錄](méi) 2009-09-21 08:07 visualfc
            兩張圖片看不到是因?yàn)樵瓉?lái)文件名為phone..png,結(jié)果編輯時(shí)不認(rèn),又重傳的phone.png。現(xiàn)已修正。  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。 2009-09-22 13:08 codespy
            @visualfc
            在Qt中布局對(duì)象沒(méi)有子部件的所有權(quán)(ownership),子部件的所有權(quán)仍然歸父部件。也就是說(shuō),銷(xiāo)毀布局并不會(huì)銷(xiāo)毀布局所管理的子部件。
            對(duì)于實(shí)現(xiàn)二維布局算法,俺沒(méi)有找到好的參考資料(估計(jì)各家的實(shí)現(xiàn)都不一樣), 現(xiàn)在還沒(méi)什么思路??吹讲┲鞯膱D片后很興奮!不過(guò),有的布局用一維布局組合的話(huà)會(huì)使用戶(hù)的代碼顯得混亂,甚至組合不出來(lái)(比如類(lèi)似德國(guó)納粹標(biāo)志)。  回復(fù)  更多評(píng)論
              

            # re: 測(cè)試GUI自動(dòng)排版,發(fā)圖紀(jì)念。[未登錄](méi) 2009-09-22 13:52 visualfc
            @codespy
            是這樣的,本質(zhì)上一樣,只是不同的實(shí)現(xiàn)方式而已。
            可能的話(huà)加我gmail。visualfc at gmail.com  回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            国产ww久久久久久久久久| 91久久精一区二区三区大全| 精品久久人妻av中文字幕| 久久成人国产精品免费软件| 日日狠狠久久偷偷色综合96蜜桃| 97精品国产97久久久久久免费| 久久综合给合久久国产免费| 欧美日韩精品久久免费| 久久婷婷国产剧情内射白浆| 亚洲国产精品无码久久青草| 日韩欧美亚洲综合久久影院Ds| 伊人久久大香线蕉无码麻豆| 伊人久久大香线蕉综合影院首页| 久久久精品人妻一区二区三区蜜桃| 久久天天躁狠狠躁夜夜躁2014| 久久久久久曰本AV免费免费| 国产精品久久婷婷六月丁香| 久久精品国产2020| 潮喷大喷水系列无码久久精品| 成人妇女免费播放久久久| 国产精品熟女福利久久AV| 亚洲午夜无码久久久久小说| 7777精品久久久大香线蕉| 久久香蕉国产线看观看乱码| 久久久国产一区二区三区| 亚洲国产精品无码久久久久久曰| 人妻精品久久久久中文字幕69| 国产欧美久久一区二区| 久久高清一级毛片| 伊人久久大香线蕉av不卡| 97久久久精品综合88久久| 精品无码人妻久久久久久| 久久中文字幕人妻丝袜| 久久综合久久久| 亚洲va中文字幕无码久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | www性久久久com| 国产精品一区二区久久精品无码 | 久久精品无码一区二区app| 狠狠色狠狠色综合久久| 久久精品二区|