2011-04-04 57 views

回答

10

這麼看來這個問題歸結爲$ {} resource_loc,因爲這給你的全路徑名/path/to/file/filename.ui - 是的,它不包括的.ui因此,當你說$ {} resource_loc的.py這轉化爲/path/to/file/filename.ui.py

所以可能來糾正這個問題,因爲我無法找到一種方法最簡單的方法使日食刪除文件擴展名爲我做了一個非常小的腳本來做工作。

您可能需要稍微修改它以適用於您的pyuic安裝。

在/ usr/bin中/ pyuicEclipse:

#!/bin/bash 
pyUICCommand="/usr/bin/pyuic" # change this per your installation 
x=$1 
f=`basename $x` 
d=`dirname $x` 
fNoUI="`echo $f | sed 's/\.ui$//'`" # removes .ui extension from file basename 
$pyUICCommand -o ${d}/${fNoUI}.py $x 

使其可執行,我用Eclipse配置就簡單多了:

  • PyUIC-> Main->地點:在/ usr/bin/pyuicEclipse---明顯改變你的想法
  • PyUIC-> Main-> Arguments:$ {} resource_loc
  • PyUIC->刷新 - 檢查「刷新資源完成時」
  • PyUIC->構建 - 取消「發射前建立」
  • PyUIC->通用 - 不做到這一點的是,文章

這在Linux中提到的文件選項,因此如果你在其他操作系統可能需要一些輕微的修改,但我希望這能解決你的問題:)

+0

嗯...我很擔心它需要一個腳本。我並不介意使用其中的一種,但對於其他功能非常強大的IDE來說,這看起來有些瑕疵。 – MerseyViking 2011-06-21 10:15:23

+2

您可以隨時從eclipse開發者那裏[請求一個變量功能](http://wiki.eclipse.org/FAQ_How_do_I_report_a_bug_in_Eclipse%3F),該開發者輸出沒有擴展名的文件名。但是如果它得以實施,可能需要一段時間。從長遠來看,值得你花時間。 - 最後的選擇是修改pyuic源代碼並使其自動刪除可能存在的任何.ui擴展名 - 我不建議這樣做,因爲升級會導致您不得不每次重新應用此修補程序。 – platinummonkey 2011-06-22 00:06:55

5

爲了維護Eclipse的跨平臺性質,我敲了一個與platinummonkey的bash腳本相當的DOS。它不是非常強大,但它的工作:

@echo off 
set pyUICCommand="pyuic" 
set fname=%1 
set fname=%fname:.ui=.py% 
%pyUICCommand% -o %fname% %1 
1

有一個簡單的解決方案,這個問題根本不需要腳本。

  1. 要麼通過Eclipse的更新或經由Eclipse marketplace安裝pathtools插件:

  2. 安裝在Eclipse的外部工具的配置選項如下

在主:

  1. 名稱:pyuic_run。 (或類似的東西)
  2. 位置:路徑Python解釋器(或pyside-uic.exe如果你用這個)
  3. 參數:在第一線,把路徑pyuic.py(如果你使用不需要因爲它會在上面)。如果路徑中包含空格,請使用雙引號。在第二行把「$ {resource_loc}」(這將設置資源文件的名稱)
  4. 在刷新:啓用「完成時刷新資源」(見最後文件)
  5. 在Build:禁用「構建發射前」 #not必要在這裏
  6. 環境:沒有變化
  7. 共同點:激活‘文件’選項,並設置路徑爲: $ {父路徑}/$ {名稱的SAN擴展} .py

請注意,$ {parent-path}和$ {name-sans-extension}是通過pathtool提供的參數插件。

如果應用此選項,然後在.ui資源文件上運行配置,則會看到一個新的.py文件已創建。