如何用Qt4制作自动隐藏菜单栏
我正在尝试制作一个具有自动隐藏菜单栏的 Qt 应用程序。我怎样才能做到这一点?
I am trying to make a Qt application which has an auto hiding menu bar. How can i do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个有趣的任务!好吧,让我们看看...我建议您在 QMainWindow::centralWidget()。您需要先调用 QWidget::setMouseTracking(true) 来能够跟踪您的鼠标移动(默认情况下它们是关闭的)。代码可以如下所示:
然后在您的小部件 QWidget::mouseMove() 事件中,您需要检测您是否位于正确的区域。代码如下所示:
有多种方法可以访问 MyWidget 中的“mainWindow”。其中之一是当您在 MyWidget 构造函数中传递 MainWindow 时,在 MyWidget 私有变量中存储一个指针。您还可以从 MyWidget 发出信号并在 MainWindow 中处理它。
希望这有帮助。
That's an interesting task ! Ok, lets see... I'd suggest you putting a code that keeps track of mouse cursor movement in QMainWindow::centralWidget(). You need to call QWidget::setMouseTracking(true) first to be able to keep track of your mouse movement (they are turned off by default). The code can look like this:
And then in your widget QWidget::mouseMove() event you need to detect whether you are in the correct area. The code can look like this:
There are several ways to get access to "mainWindow" in your MyWidget. One of them is to store a pointer in MyWidget private variable when you pass MainWindow in its MyWidget constructor. You can also issue a signal from your MyWidget and handle it in MainWindow.
Hope this helps.