wxWidgetsでの私の経験

記事の目的



しかし、最初の話


そのため、商用オペレーティングシステム用のソフトウェアソリューションを使用して、商業用オイルアカウンティング用の独自の機器を備えた工業企業の1つで働くと、クロスプラットフォームソフトウェア開発について考えることが多くなりました。

その後、さまざまなライブラリを飲みました。 Gtk +とQTの両方がこのリストに載っていました。 しかし、本当に、wxWidgetsは私を魅了しました。

同時に、自動車の売買取引、保険、およびメンテナンスのサポートに携わる会社のためのプライベートデータベースプロジェクトがありました。 週末にやりました。 このプロジェクトの初期段階で、QT、Gtk +、wxWidgetsを試しましたが、最終的には他のツールを使用して完全に再実装しました。
忍耐は優れた品質ですが、人生は短すぎて長く耐えられません-アブl-ファラジ。

当時、これらのライブラリを使用しない理由は、技術的な実装の複雑さではなく、時間制限でした。 ビジネスは待つのが好きではありません。

一般に、テストされたライブラリごとにこのプロジェクトを開発するとき、特定のレベルの完全性に達しました。 表は、結果を昇順で示しています。
楽器何が行われた顧客からのフィードバック拒否の理由
QT一対のフォーム+ロジックでバインドします。顧客には提示されません。解決策を探すのに多くの時間を費やしました。
Gtk +GUI全体。WinXPの場合、GUIはネイティブで見慣れたもののようには見えませんでした。IDEに統合されたGUIビルダーがありませんでした。
通常の種類のGUIではありません。
かさばる実装、長い関数名。
解決策を探すのに多くの時間を費やしました。
wxWidgetsGUI + DB全体。要素を正確に配置したドキュメントの印刷はありませんでした。印刷用のドキュメントテンプレートの既製のジェネレータはありませんでした。

他にもありましたが、その結果はQTの結果よりも控えめです。

公平に言うと、これらのライブラリをすべて使用したのはこれが初めてだったと言わなければなりません。 wxWidgetsで印刷するためのドキュメントテンプレートジェネレーターでない場合...

今何


その結果、ごく最近、最小限の実行可能なクロスプラットフォームテンプレートジェネレーターと、当時のレベルでwxWidgetsを使用して印刷するためのクライアントライブラリを作成しました。

試してみたい人はc-help.tkにアクセスしてください 。 兄が親切にサイトを提供してくれたので、できるだけ簡素化されたフリルのないサイトを発行するように頼みました。 成功したと思います。

現在私たちが持っているもの:


どのように見えますか?

テンプレートジェネレーター:

画像

最も単純なクライアント(左側のコンソールアプリケーション):

画像

どのように機能しますか?

テンプレートジェネレーター:

1.技術図面のように、グラフィック要素が正確に配置されたテンプレートが作成されます。
2.変数名の列挙が作成されます。
3.テキストフィールドは、テンプレートの適切な場所に配置されます。
4.テキストフィールドに、変数名とともに静的テキストを入力できます。 変数は、特殊文字「$ {」と「} $」の間に指定されます(これまでは手動でのみ)。
5.テンプレートがファイルに保存されます。 ファイルには多くのパターンを含めることができます。 画像ファイルはテンプレートに添付されていません。 クライアントはBMP画像のみを印刷します。
クライアント+クライアントライブラリ:
6.テンプレートファイルをロードします。
7.テンプレートを選択します(これまではインデックスを介してのみ)。
8.データを変数に設定します(これまではインデックスを介してのみ)。
9.印刷する問題。 プリンタの余白設定が異なるため、印刷が行われる場合があります。

おわりに


使用されたもの:


wxWidgetsで私たちを満足させたもの:


これはwxWidgetsにあまり満足していません:


Code :: Blocksの多くの側面を自動化しないと、wxWidgetsを使用することはより困難になると思います。

今のところすべてです。

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


All Articles