震惊!!我发现Qt有一个致命Bug!!

Greyson_Xu 2011-12-08 12:47:16
绝对不是标题党,在ui文件中拖入pushbutton,lineEdit 和 textEdit;在构造函数中设置窗口,代码如下:
	ui.setupUi(this);
this->setWindowFlags(
Qt::FramelessWindowHint |
Qt::WindowMinimizeButtonHint |
Qt::WindowSystemMenuHint);
setAttribute(Qt::WA_TranslucentBackground);
connect(ui.miniButton, SIGNAL(clicked()), this, SLOT(showMinimized()));

当你点击最小化,然后再复原时,lineEdit 和 textEdit 无法聚焦了
...全文
729 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
noodle123 2013-03-07
  • 打赏
  • 举报
回复
感觉我也遇到了这样的问题: 界面上30个按钮,每个按钮想串口发送数据,接收数据取平均值显示到按钮上方,从1到30,然后从30到1,自动化进行4回合。 结果经常发现有的档位数据没有刷新显示出来,内存中也没有成功赋值。导致结果不正确。 特别是在程序设置为后台的时候(不是活动窗口)。 另外发现,不显示数值的时候,最大化(或恢复)一下就可以了。 准备回头试着用楼主的办法掩饰一下试试。 怀疑是主线程中进行了太多的计算,导致定时器溢出时(50ms)计算还没有完成,导致赋值中断或者刷新忽视。 以后再详细研究吧。
念茜 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dext 的回复:]

留意的话,你应该发现,push button 还在按下状态。
[/Quote]

换个信号见分晓
Greyson_Xu 2011-12-09
  • 打赏
  • 举报
回复
有没有什么方法可以避开这个bug?窗体的风格不能变哦
ancheel 2011-12-09
  • 打赏
  • 举报
回复
LZ是混军坛的吗?动不动就是“震惊”“惊爆”什么的最讨厌了。。。
Greyson_Xu 2011-12-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 warknife 的回复:]

问题搞定,方法简答,重载Dialog的ShowEvent事件。
加上下面2行:
if ( this->isVisible())
this->repaint();
[/Quote]

五楼正解啊,给力!
xnloy 2011-12-09
  • 打赏
  • 举报
回复
小题大做
warknife 2011-12-09
  • 打赏
  • 举报
回复
问题搞定,方法简答,重载Dialog的ShowEvent事件。
加上下面2行:
if ( this->isVisible())
this->repaint();
warknife 2011-12-09
  • 打赏
  • 举报
回复
貌似是显示的问题。都能成为焦点并正常输入,只是没刷新。不是机制上有什么“震惊”的问题。
dext 2011-12-08
  • 打赏
  • 举报
回复
留意的话,你应该发现,push button 还在按下状态。

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧