2016-11-29 144 views
0

我必須標記一些用於國際化的.xml文件。我不會手動CMD使用lupdate,而不是我把它放在項目的.pro文件,如:.pro文件問題中的Qt lupdate

lupdate_only{ 
SOURCES += $$EXTRA_XML 
} 

上面的代碼工作得很好,但是當你發現我不得不把XML文件的來源。因此,.xml文件出現在左側Projects'透視窗口的虛擬文件夾中,位於.cpp文件旁邊。我覺得這個解決方案有點令人討厭和困惑。

- Project 
- - Headers 
- - Sources 
- - - main.cpp 
- - - some.xml //not wanted here 

是否有使用lupdate的方式,在的.pro,在不同的文件,這些文件將不會出現在源文件夾?謝謝!

UPDATE 我使用Qt Creator的4.0.3

回答

0

我找到了解決我的問題,但我認爲這是一個Qt Creator的錯誤。我只是將lupdate語句的內容移動到.pri文件中,現在xml文件不會出現在Sources虛擬文件夾下。 (.pri文件包含在.pro中)

+0

很高興你找到可接受的解決方案,我沒有想過使用.pri – ManuelH

1
lupdate_only { 
    SOURCES += $$EXTRA_XML 
} 

有了這個條件語句,lupdate工具看到.qml文件,但qmake可以忽略它。

+0

lupdate_only似乎是編譯器的條件語句,但我認爲問題在於解析.pro文件並解釋SOURCES變量的Qt Creator –

+0

在這種情況下,我能想到的唯一另一種可能的解決方案是,您創建一個單獨的.pro文件,其中只包含lupdate_only {...}和xml文件。然後,您將需要運行在命令行自己lupdate,而Qt Creator的作品,其所有的C++頭文件和源的其他.pro文件。 – ManuelH

+0

這幾乎是同樣的事情,從運行CMD的lupdate,但是你的反應給了我的想法,移動lupdate到.pri文件,而不是它的工作原理是需要的話,謝謝 –