Qtを使用したPythonでのrfkillのGUI

画像 4か月目は、WiMAXが統合されたすばらしいLenovo S10-3tネットブックの所有者でした。 そして、Linuxカーネルのように、今から1か月以上の間、Intel CorporationのWiMAX / WiFi Link 6050シリーズにfireがあります。 fireを取り付け 、コンソールから正しく接続する方法を見つけることも問題ではありません。 そして、私は本当にブラックジャックが欲しいです、そして、私は美しいryushechekと単純なコントロールを送ります。

多くの人が、今使用しているWiMAXまたはWi-Fiを選択できるYotaのインターフェースを見たでしょう。 画像 シンプルで便利。 Linuxにはこの主題に関するいくつかの作品があります。 彼らはWiMAXとプラグインをサポートするリリース2.0について話していますが、NetworkMenagerはより積極的に生活しています。プラグインである必要さえあります。 そして、私は最後のマネージャーと友情がなかったので、最近Pythonの本を読み終えたので、答えはそれ自身-自転車でした。

したがって、私はあなたの裁判所に私の創造物、ミニマリストを提示しますが、私が必要としたのはrfkill-qt-guiによって解決されます。

プロジェクト構造:
icons
dbuslibs:
-->DeviceManager.py
-->RfkillDevices.py
scripts:
-->wimax-connect.sh
-->wimax-disconnect.sh
rfkillqtgui.py

それで、何を食べるべきか。

DeviceManager.py

このライブラリは、D-Busを介してデバイスをいじり、あらゆる種類の有用なイベントをキャッチし、それらについて上位のイベントに通知する責任があります。 そこに異なるクラスのデバイスを追加できます。 Killswitchにのみ興味がありました。

RfkillDevices.py

デバイス管理のためにDeviceManagerをラップします。 デバイスをBluetooth、Wi-Fi、WiMAXの3つのグループに分割し、残りは識別されません。 グループ内の複数のデバイスに配置されます。 しかし、Yotaからのsは設定されておらず、複数のWiMAX / Wi-Fiデバイスを入手できないため、グループ内の最初のデバイスですべてが機能します。

rfkillqtgui.py

メインプログラム。 ここで、システムトレイアイコンとそのコンテキストメニューが作成されます。 わずか3点。 画像 WiMAXネットワークを初期化するスクリプトを実行するロジックも実装されています。 ユーザー空間から設定を管理する方法を探していましたが、ウィックを書く計画を入力しませんでした。 そのため、スクリプトとkdesuを実行してルートの下で実行します。

使いやすい-必要なものを起動して切り替えます。 スクリプトの起動を無効にし( --no-script )、WiMAXおよびWi-Fiパラメーターの同時操作を有効にすることができます( --all )。 スクリプトでWiMAXネットワークを選択します。

あなたの建設的な批判を受け入れます。 アイコンを蹴らないでください:) 3つのパラメーターすべてを、アクティビティに関するメモと組み合わせたいと思いました。
この考えは4か月間浮かび上がり、1日で組み立てられました。 バグや不正確な可能性があります。

ソースファイルはこちらから入手できます。
またはここでアーカイブ

ツールキット

qdbusviewerは、D-Bus用のシンプルなQtブラウザです
gimp-グラフィックエディター

さまざまなマニュアル

HAL 0.5.8仕様
dbus-pythonチュートリアル
Qt 4.5ドキュメント

ここでコードが見つかり、使用されました

stoqlib(Dバス)
シストレイアイコン
Python:PyQt4でトレイアイコンを使用する略語を使用
2時間でPythonでKDE4の便利なプログラムを作成します

Source: https://habr.com/ru/post/J105048/


All Articles