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

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

            Form的構造函數中的代碼為:

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

                   后來把表達式成這樣了:

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

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

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

                   發現,按鈕狀態觸發的功能完成了,而在nameLineEdit中輸入時,如果是星號啊,斜杠啊之類的直接就按了鍵也沒反應,即不會顯示到lineedit里面。這就無形之中將我那個想要把非法字符顯示為紅色的功能pass掉了,因為也沒有必要了。

                   無論如何解決了一個小問題卻學到了很多。

            1,用QRegExpValidator很有用。它將我要做的字符串匹配啊那些操作全部省略了,而對于正則表達式的學習還應該深入一下,因為我還沒完全弄明白。Qt的資料真的很少,而里面內容很多,不可能一下子從頭學,只能隧道式學習了。

            2,用on_objectName_SignalName()這個函數命名的槽函數非常方便。它相當于自動會生成這段代碼:

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

            這也是以前跟黃老師一起討論時,他老說on函數on函數的,我一時沒會過意,現在我明白了。

                   下面鏈接兩個網頁,我就不貼過來了,要查的話直接進去看吧:

            QT4對話框快速設計:http://xuexg2000.blog.163.com/blog/static/139996409201032912432439/

            (在這里我學會了on函數)

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

            (在這里學會如何設置合法字符)

            posted on 2012-03-29 14:07 米米 閱讀(820) 評論(0)  編輯 收藏 引用 所屬分類: qt
            久久频这里精品99香蕉久| 久久er99热精品一区二区| 亚洲国产精品综合久久一线| 丁香久久婷婷国产午夜视频| 国产免费福利体检区久久 | 欧美日韩中文字幕久久久不卡| 国产福利电影一区二区三区,免费久久久久久久精 | 国产高潮国产高潮久久久| 久久精品国产99国产精偷| 久久亚洲精品国产亚洲老地址| 国内精品久久久久影院薰衣草 | 久久久久国产日韩精品网站| 大香伊人久久精品一区二区| 777米奇久久最新地址| 国产精品久久新婚兰兰| 97久久国产亚洲精品超碰热| 久久精品国产色蜜蜜麻豆| 国产精品热久久毛片| 久久国产色av免费看| 久久精品无码一区二区日韩AV| 亚洲AV无一区二区三区久久| 久久久噜噜噜久久中文字幕色伊伊| 国产V亚洲V天堂无码久久久| 久久久久亚洲AV片无码下载蜜桃 | 国产激情久久久久影院小草 | 77777亚洲午夜久久多人| 日韩久久无码免费毛片软件| 久久婷婷国产麻豆91天堂| 人妻久久久一区二区三区| 国产激情久久久久久熟女老人| 国产精品久久新婚兰兰| 亚洲va久久久久| 久久久久久亚洲精品影院| 欧美午夜A∨大片久久| 免费一级做a爰片久久毛片潮| 国产精品gz久久久| 精品久久久久久久中文字幕| 99久久国产综合精品网成人影院 | 国产福利电影一区二区三区久久老子无码午夜伦不| 亚洲精品乱码久久久久久蜜桃图片 | 久久婷婷五月综合国产尤物app|