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ファイルの例