Qt 5 (Qt Quick) MenuItem 大部分时间显示为空白

Posted

技术标签:

【中文标题】Qt 5 (Qt Quick) MenuItem 大部分时间显示为空白【英文标题】:Qt 5 (Qt Quick) MenuItem shows up blank most of the time 【发布时间】:2014-08-31 01:03:44 【问题描述】:

我正在开发一个使用 Qt 5.3 + QtQuick UI 控件构建的适用于 Linux 的 OneDrive 客户端。我遇到的问题是 MenuItem 控件在被激活后,每隔几次尝试才完全绘制。基本上,单击菜单中的“文件”会生成一个名为“退出”的菜单项,或者显示为完全空白(白色背景、无文本、无功能)。这个问题表现得非常不一致。有时它会在 90% 的时间里做到这一点,或者其他时候它只会显示 10-20%,但在任何一种情况下,它都是引人注目且令人讨厌的。

可以在https://github.com/01000101/onedrive-linux-client/ 找到整个项目存储库,但我已经粘贴了存在此问题的部分之一。如果提供任何提示,我正在使用 Qt Creator。动态生成的菜单(例如我也用于右键单击上下文菜单的菜单)也受此困扰。

平台:Ubuntu 14.04 x86_64 内核:3.13.0-34-generic 海合会:4.8.2-19ubuntu1
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Dialogs 1.1
import QtQuick.Controls.Styles 1.2

ApplicationWindow 
    id: page_auth
    visible: true
    width: 720
    height: 480
    color: "#343434"
    title: qsTr("OneDrive Linux Client")

    menuBar: MenuBar 
        Menu 
            title: qsTr("File")
            MenuItem 
                text: qsTr("Exit")
                onTriggered: Qt.quit();
            
        
        Menu 
            title: qsTr("Help")
            MenuItem 
                text: qsTr("About")
                onTriggered: messageDialog.open()
            
        
    

【问题讨论】:

您在使用 Unity 的全局菜单吗?如果是这样,您可以尝试禁用它们。 不,本地窗口菜单已启用。 IIRC 全局菜单在 14.04 中默认禁用。 【参考方案1】:

这是bug in Qt。我们的软件也有同样的问题。您对此无能为力,只能等待。

【讨论】:

以上是关于Qt 5 (Qt Quick) MenuItem 大部分时间显示为空白的主要内容,如果未能解决你的问题,请参考以下文章

打包发布 Qt Quick/Widgets 程序

Qt Quick程序的发布

如何在 windows xp 上部署 Qt 5.10 Quick 2 应用程序?

如何在Windows XP上部署Qt 5.10 Quick 2应用程序?

windows用windeployqt发布qt quick application程序

由于找不到qt5quick.dll,无法继续执行代码。重新安装程序可能会解决此问题,不知道怎么解决跪求大神帮忙