Qt學習記錄3——登陸窗口的實現

有好幾天都沒寫博客了,因爲一直被一個問題困擾怎麼添加登陸窗口!

想了很多,也查了很多,但是可能是基礎不夠好,百度上的有些資料是用不上的。所以只能請教別人或者自己琢磨。

開始,我的辦法是寫一個登陸窗口,然後用if語句在login.cpp中判斷登陸密碼的正誤,正確則關閉登陸窗口,顯示ioput窗口。然而我在login.cpp中的w.show();總是一閃而過。所以不可能是在login.cpp中顯示主窗口,只能在main.cpp中顯示了。可是在主函數中顯示時,顯示的就是2個窗口。你想用哪個窗口就選哪個,那這豈不是視登陸窗口與不見了?!這樣的話,那這登陸窗口還有什麼用呢?!所以得有一種方法把主窗口給鎖住。

這時候可以用模態化,具體模態化啥意思我也不大懂,就暫且當是個模式吧。setModal(bool modal);若值爲true,則只可對當前窗口進行操作。

這就解決了登陸窗口形同虛設的尷尬問題。

可是接下來我有發現了其他的問題:登陸窗口的右上角有個叉叉,這個叉叉可以把登陸窗口直接解決,那麼,那個尷尬的問題又來了。登陸窗口又形同虛設了。

這個怎麼解決呢,這時候就想到了,可不可以禁止叉叉的使用或者直接隱藏了它。

百度。。。

找到了setWindowsFlags(Qt::***);函數,其中***可以有很多,其中就有一個就很適合,但是當我用的時候就發現,不知道怎麼回事,當用這個的時候,窗口的顯示是不完整的。



這就讓人很糾結,好不容易找到個解決方法卻又bug。。所以只能再換個了,用

<span style="font-size:18px;"><strong>setWindowFlags(Qt::CustomizeWindowHint);</strong></span>
可以把標題欄直接隱藏,夠狠的吧,讓你按,我給他藏起來,看你還怎麼按,啊哈哈。。

表面上看起來是不能關閉了,其實。。。ALT+F4和Esc還是可以直接把登陸窗口關閉的,所以我覺的這不是個純正的登陸界面。暫時先這樣,等我多瞭解點再接着搞起~

今天還在貼吧看到了一個全新的qt程序打包方法,但是讓我鬱悶的是,看上去我是可是做的,但是我又被坑了。。。樓主回覆:不支持vs的。。出現一個warning:Cannot find Visual Studio installation directory,VCINSTALLDIR is not set. 翻譯過來就是:沒找到vs安裝目錄,VCINSTALLDIR沒設置。

所以,現在的情況就是還是隻能我編程序我自己看。。。

今天就這樣,明天接着搞,睡覺~~~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章