• <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>

            zhonghua

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              72 Posts :: 1 Stories :: 4 Comments :: 0 Trackbacks
            原本的想法是在LineEdit的textEdited()事件觸發(fā)時(shí),如果輸入了無效的目錄名,則確認(rèn)按鈕無效,同時(shí)LineEdit的字的顏色為紅色,想了老半天要如何解決這個(gè)問題,如何判斷是否非法。都想到QString和字符串匹配上面去了。

                   后來偶然搜索到一個(gè)帖子,提到了QRegExpValidator這個(gè)東西。研究了一下,利用一個(gè)正則表達(dá)式就可以很方便的限制用戶的輸入,代碼如下:

            Form的構(gòu)造函數(shù)中的代碼為:

            QRegExp regExp("^[A-Za-z0-9_]+$");  //這里的意思是可以輸入包含大小寫字母,阿拉伯?dāng)?shù)字以及下劃線
            nameLineEdit->setValidator(new QRegExpValidator(regExp, this));

                   后來把表達(dá)式成這樣了:

            QRegExp regExp("\w[A-Za-z0-9\-]*");

                   這樣的話,目錄中除了第一個(gè)字符外可以包含小橫線“-”了,哦也~~
            Form類中的一個(gè)槽函數(shù)為:

            void NewForm::on_nameLineEdit_textEdited()
            {
                savePushBtn->setEnabled(nameLineEdit->hasAcceptableInput());
            }

                   發(fā)現(xiàn),按鈕狀態(tài)觸發(fā)的功能完成了,而在nameLineEdit中輸入時(shí),如果是星號(hào)啊,斜杠啊之類的直接就按了鍵也沒反應(yīng),即不會(huì)顯示到lineedit里面。這就無形之中將我那個(gè)想要把非法字符顯示為紅色的功能pass掉了,因?yàn)橐矝]有必要了。

                   無論如何解決了一個(gè)小問題卻學(xué)到了很多。

            1,用QRegExpValidator很有用。它將我要做的字符串匹配啊那些操作全部省略了,而對(duì)于正則表達(dá)式的學(xué)習(xí)還應(yīng)該深入一下,因?yàn)槲疫€沒完全弄明白。Qt的資料真的很少,而里面內(nèi)容很多,不可能一下子從頭學(xué),只能隧道式學(xué)習(xí)了。

            2,用on_objectName_SignalName()這個(gè)函數(shù)命名的槽函數(shù)非常方便。它相當(dāng)于自動(dòng)會(huì)生成這段代碼:

            connect ( objectName, SIGNAL(SignalName), this, SLOT(on_objectName_SignalName()))

            這也是以前跟黃老師一起討論時(shí),他老說on函數(shù)on函數(shù)的,我一時(shí)沒會(huì)過意,現(xiàn)在我明白了。

                   下面鏈接兩個(gè)網(wǎng)頁(yè),我就不貼過來了,要查的話直接進(jìn)去看吧:

            QT4對(duì)話框快速設(shè)計(jì):http://xuexg2000.blog.163.com/blog/static/139996409201032912432439/

            (在這里我學(xué)會(huì)了on函數(shù))

            QT正則表達(dá)式:http://jesserei.blog.163.com/blog/static/121411689201011210846198/

            (在這里學(xué)會(huì)如何設(shè)置合法字符)

            posted on 2012-03-29 14:07 米米 閱讀(820) 評(píng)論(0)  編輯 收藏 引用 所屬分類: qt
            久久久久无码精品| 久久九九有精品国产23百花影院| 91久久精品视频| 久久精品国产精品亚洲人人| 久久久久久曰本AV免费免费| 无码人妻精品一区二区三区久久| a高清免费毛片久久| 国内精品欧美久久精品| 日韩精品久久无码中文字幕| 久久婷婷久久一区二区三区| 色婷婷噜噜久久国产精品12p| 亚洲色大成网站www久久九| 久久久青草久久久青草| 人妻无码精品久久亚瑟影视| 精品国产乱码久久久久久1区2区| 国产精品久久久天天影视香蕉| 久久夜色精品国产亚洲| 国产—久久香蕉国产线看观看| 久久无码中文字幕东京热| 伊人久久综在合线亚洲2019| yy6080久久| 久久久久国产视频电影| 国产亚洲美女精品久久久久狼| 亚洲精品NV久久久久久久久久 | 污污内射久久一区二区欧美日韩| 漂亮人妻被黑人久久精品| 久久人妻AV中文字幕| 久久99精品国产麻豆婷婷| 91精品国产高清久久久久久91| 麻豆亚洲AV永久无码精品久久 | 性欧美大战久久久久久久久 | 伊人久久无码中文字幕| 伊人久久五月天| 午夜精品久久久久9999高清| 四虎影视久久久免费| 一级女性全黄久久生活片免费| 欧美日韩中文字幕久久久不卡| 色婷婷狠狠久久综合五月| 韩国三级中文字幕hd久久精品 | 久久久老熟女一区二区三区| 久久精品国产精品亚洲艾草网美妙|