見出し画像

PySideでワードパッドを作る 宣伝

メモ帳とワードの中間であるワードパッドアプリケーション。これはPySideで作ることができます!これを作れるくらいになったら、一気に中級者になれます!

基本的な知識から、最終的なデプロイまでをサポートします。ソースコードもありますから、すぐに実行できて、コードの正確性を確認できます!

Qt普及のため、ご協力ください!


この本では以下のことが学べます。




まずはここから


アプリを分析する


まずは外装を整える コード編


QGraphicsViewの利用


結果が変わっていないようにみえるのですが

QPageSizeクラスでQTextEditのサイズを変更しよう


背景の色を変える


QTextDocumentの見えない基本


QTabWidgetを使う


QtDesignerの使い方

ここからQtDesignerの使い方を見ていきます。
マスターして、時間を大幅に削減できるようになりましょう。


すぐに「名前を付けて保存」し、オブジェクト名を変更すべし

QtDesignerで作ったファイルは、ui拡張子のついたxmlフォーマットのファイルです。これをパイソンのコードへ変換します。その際、メインとなるフォームのオブジェクト名が、パイソンのコードに書かれるクラス名になります。


ウィジェットボックス

以下、QtDesignerで使われるGUIの紹介です。


GUIの配置と基本操作 選択について


ツールバー


ウィジェットの編集


Buddyの編集


シグナルとスロットの接続


タブ順の編集


レイアウトを後から適用するアプローチ


レイアウトにGUIを追加する方法


オブジェクトインスペクタ


プロパティエディタ


リソースブラウザ


リソースをGUIへ適用する方法


アクションエディタ


その他


ショートカットキーまとめ


トップレベルウィジェットのレイアウトを適用するには


やり方が2種類ある?


コンパイルの方法とアプリへの取り込み


ワードパッドの土台を作る

QtDesignerを作って、ワードパッドアプリケーションの土台を作ります。


TabWidgetを整える


リソースの重複に注意


オブジェクト名について


「表示」の外装を整える


「ファイル」欄は見送る


QtDesignerまとめ


デザインファイルをpywファイルへ_作成手順


後の変更に備えるための原始的方法


バッチファイルでテクニカルな方法


UIファイルの中身をちょっと解読してみる


多重継承するパターン


QUiLoaderを利用するパターン


機能面へ


QtDesignerで作ったGUIへアクセスする方法


コンパイル時に良く起きるエラーについて


フォント



フォントのサイズを変更する


currentFontChangedの欠点


FontPropertiesSpecifiedOnlyフラグ


charFormatメソッドの見えないルール


charFormatメソッドの挙動まとめ


selectionStartとselectionEnd、そしてanchor


MoveAnchorとKeepAnchor


表示カーソルと非表示カーソル


beginEditBlockとendEditBlock


ポイントサイズのアップとダウン


太字イタリックストライクアウト下線上付き下付き


QPushButtonを装飾する方法


textColorの色テーブル


QtDesignerでカラーテーブルを作る


QWidgetAction


残る問題点


setTextColor


QWidgetActionのサブクラスを作る


バックグラウンドカラー


QWidgetActionの本領


createWidgetメソッド


ついでに「色なし」を実装する


QWidgetActionまとめ


イメージオブジェクトの挿入


画像文字の基礎知識


QPyTextObjectの使い方


QPyTextObjectの2つの関数


深読み QPyTextObject


QPyTextObjectの欠点


createMimeDataFromSelectionの上書き


insertFromMimeDataの上書き


QDataStreamの使い方について


画像文字をQLabelウィジェットで表現する


ウィジェット文字削除を同期する


消し方によって分岐される複雑さ


コピー&ペーストの再実装


QLabelのサブクラスを作成


createMimeDataFromSelection書き換え


insertFromMimeData書き換え


Cut,Copy,Paste関数


UndoFrameworkが使用不可能に


画像の変更


画像サイズの変更_ダイアログから


scaled関数の欠点


イメージサイズチェンジのコード


アクションの作成とメニューへの追加


QTextDocumentの親をQTextEditへ設定


スロット関数の追加


イメージサイズの変更_マウス編


日付と時刻


オブジェクト挿入機能について


編集


FindDialogの作成


検索


置換



貼り付け、コピー、切り取りボタンの実装


ルーラ―


ルーラ―によるインデンテーション


QTextOption_Tab


setTabPositionsとsetTabs


段落


インデントとアンインデント


テキストリスト


lineHeight


アラインメント


段落ダイアログ


表示


ズーム機能


ズーム欄の機能を実装する


ルーラ―とステータスバーの表示と非表示


設定


設定の機能


単位変換


スポイト


段落ダイアログのスポイト機能


QValidator


UndoFramework


QTextDocumentのundo機能をオフにすること


QUndoViewを開発中は取り入れておいた方がよい


QUndoStack


QUndoCommand


idとmergeWith


カスタムオブジェクトのメモリ管理


ドキュメントの変更点全てに実装する必要がある


文字を挿入するUndo Management


アジア系文字の入力inputMethod


他のUndo Management


フォント関連のUndoManagement


CutとPaste関連のUndoManagement


文字消去のUndoManagement


その他のタイプのUndoManagement


ファイル欄へ


セーブとロード


画像文字の永続化Qtの事情


第三関門永続化の一般例


第三関門読込みの一般例


デプロイ


cx_Freeze


エントリポイント


packages


includesオプション


include_files


excludes


zip_include_packages


zip_exclude_packages


optimizeフラグ


今回のプロジェクトのsetupファイルの例


 


いいなと思ったら応援しよう!