有好几天都没写博客了,因为一直被一个问题困扰:怎么添加登陆窗口!
想了很多,也查了很多,但是可能是基础不够好,百度上的有些资料是用不上的。所以只能请教别人或者自己琢磨。
开始,我的办法是写一个登陆窗口,然后用if语句在login.cpp中判断登陆密码的正误,正确则关闭登陆窗口,显示ioput窗口。然而我在login.cpp中的w.show();总是一闪而过。所以不可能是在login.cpp中显示主窗口,只能在main.cpp中显示了。可是在主函数中显示时,显示的就是2个窗口。你想用哪个窗口就选哪个,那这岂不是视登陆窗口与不见了?!这样的话,那这登陆窗口还有什么用呢?!所以得有一种方法把主窗口给锁住。
这时候可以用模态化,具体模态化啥意思我也不大懂,就暂且当是个模式吧。setModal(bool modal);若值为true,则只可对当前窗口进行操作。
这就解决了登陆窗口形同虚设的尴尬问题。
可是接下来我有发现了其他的问题:登陆窗口的右上角有个叉叉,这个叉叉可以把登陆窗口直接解决,那么,那个尴尬的问题又来了。登陆窗口又形同虚设了。

本文记录了在Qt中创建登录窗口遇到的问题及解决方案。通过设置窗口模态避免多个窗口同时显示,使用setWindowsFlags()尝试禁用关闭按钮,但遇到了显示不完整的问题。最后发现虽然无法完全防止窗口关闭,但学习到新的打包方法。明天将继续研究。
最低0.47元/天 解锁文章
6470





