大佬教程收集整理的这篇文章主要介绍了QT C++ 最后创建的 QPushButton 是唯一处理鼠标点击事件的 QPushButton,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我编写了一个 C++ QT 测试应用程序来在主窗口上放置 4 个 QPushbutton(QuitBtn1、QuitBtn2、QuitBtn3、QuitBtn4)。最后创建的 QPushbutton QuitBtn4 是唯一一个处理鼠标点击事件的 QPushbutton。其他三个 QPushbutton 不响应它们的鼠标点击事件。
我需要做什么才能让所有 QPushbutton 响应它们的鼠标点击事件?
我的代码如下。
最终的应用程序将有一个背景图像,上面有按钮。按钮的位置不允许我使用 QLayout 小部件。我使用 setGeometry() 使用绝对定位。
我没有使用 QT Creator 或 QT Designer。
谢谢。
F
即使您从 QWidget 派生 MyButton,它也不会使 MyButton 成为合适的小部件。为此,应在头文件中声明 MyButton,该头文件将传递到 moc 以获取必要的详细信息,例如元信息等。然后,MyButton 还需要一个 Q_OBjeCT 声明。
这里最简单的解决方法是更改以下行:
auto *myBtn = new QPushButton(str,parent);
通过传递 parent
而不是 this
,您可以正确连接隐藏在 QApplication 中的 QObjects 和按钮。
如上所述,您可以省略 QWidget 部分,使 MyButton 成为一个简单的 C++ 类。
以上是大佬教程为你收集整理的QT C++ 最后创建的 QPushButton 是唯一处理鼠标点击事件的 QPushButton全部内容,希望文章能够帮你解决QT C++ 最后创建的 QPushButton 是唯一处理鼠标点击事件的 QPushButton所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。