最強のPySide/PyQt開発環境もPyCharmである

[最強のPython開発環境 PyCharmのすゝめ](http://qiita.com/pashango2/items/de342abc10722ed7a569)という記事で、PyCharmがいかに最強の開発環境であるかを紹介した。
PySide/pyQtの開発においても、やはりPyCharmが最強である。
（記事はPySideを対象として書いているが、PyQtに置き換え可能）

# uiファイルを自動的にpyファイルに変換

QtDesignerを使用してuiファイルを作成する場合、手動または半自動で変換している方が多いと思う。

以前に[PySideでuiファイルが更新されたらpyファイルに自動変換する](http://qiita.com/pashango2/items/f614ea77be445a3adeac)という記事を書いたが、PyCharmならそれ単体でuiファイルを監視して自動で変換してくれるのだ。

### File Watchersプラグインをインストールする

ファイル監視には```File Watchers```プラグインのインストールが必要だ。

Settingsダイアログ（Ctrl+Alt+S)を開き「Plugin」を選択する、そこから「Install JetBrains plugin...」を押す。

<img width="586" alt="qt_pycharm01.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/b503e60a-960d-628c-0b54-4a7fe0664638.png">

検索バーに「File Watchers」と入力すれば該当のプライグインがヒットすると思うので、「Install」ボタンを押してインストールをする。

<img width="413" alt="qt_pycharm02.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/abdea51e-5a20-ebd4-34d1-645697cefb40.png">

プラグインをインストールするとPyCharmを再起動する必要がある。

再起動が終わったら、再度Settingsダイアログ（Ctrl+Alt+S)を開き、「Tools」→「File Watchers」を選択し、更に右部の「＋」ボタンを押す。

<img width="586" alt="qt_pycharm03.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/0e292ebb-b65d-1dd0-e2ae-2e8d82005ea2.png">

テンプレートを選択するポップアップが出るが、\<custom\>しかないので\<custom\>を選択する。

<img width="138" alt="qt_pycharm04.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/c0968739-0a4c-6765-ae1a-33093f7e05ce.png">

Watcherの設定をする、必須項目は以下の4つである。

<img width="362" alt="qt_pycharm05.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/76147b71-10b2-3746-20d2-0f37cb60bf63.png">


| 設定 | 内容 |
|:-:|:-:|
| Name  | 適当な名前をいれる、例では「pyside-uic」  |
| File Type  | Qt UI Designer Form  |
| Program  | pyside-uicのパス  |
| Arguments  | ```-o $FileDir$/$FileNameWithoutExtension$_ui.py $FilePath$```  |

上の例のArgumentsでは「\*.ui」を「\*_ui.py」に変換するよう設定している。
この項目は各自のルールで書き換えてほしい。

設定は以上である、これでuiファイルが自動でpyファイルに変換されるようになる。

参考URL
[Using File Watchers](https://www.jetbrains.com/help/pycharm/2016.3/using-file-watchers.html)

## ファイルテンプレートに「Qt UI Designer Form」を追加する

ファイルテンプレートに「Qt UI Designer Form」を追加しておくと、素早くFormファイルが追加できるので非常に便利である。

ファイルテンプレートの設定は、ファイルの右クリックメニュー「New」→「Edit File Templates...」を選択する。

<img width="375" alt="pycharm6.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/6bc9bc97-3fae-7f4c-c452-0e8efa22868c.png">


「＋」ボタンでテンプレートを追加し、Nameには適当な識別名、Extensionには「ui」と入力する。
最後にテンプレート内容を設定するのだが、MainWindowのUIテンプレートであれば以下のように設定する。

```xml:MainWindowのUIテンプレート
<ui version="4.0" >
 <author></author>
 <comment></comment>
 <exportmacro></exportmacro>
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow" >
  <property name="geometry" >
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle" >
   <string>MainWindow</string>
  </property>
  <widget class="QMenuBar" name="menubar" />
  <widget class="QWidget" name="centralwidget" />
  <widget class="QStatusBar" name="statusbar" />
 </widget>
 <pixmapfunction></pixmapfunction>
 <connections/>
</ui>
```

<img width="458" alt="qt_pycharm06.png" src="https://qiita-image-store.s3.amazonaws.com/0/140075/eb3ca861-a343-8668-469f-40acd1eb68e4.png">


#まとめ
やはり、PyCharmは最強だった。

他にもQt開発に役に立ちそうな機能がありそうなので、この記事は随時更新していく。