2016/11/08(火) [n年前の日記]
#1 [python] お絵かきアプリモドキにUndoをつけた
PySideを使って書いてるお絵かきアプリモドキにUndoをつけた。とりあえず、キャンバス相当の QPixmap を配列? リスト? に記録していくだけの処理を入れてみたけど、一応それらしい動きになってくれた。
ただ、ちょっと気になる点が。Python で、配列の要素を削除した時、中身はちゃんと解放してくれているのだろうか…?
def save_undo(self): u"""キャンバスをUndoバッファに記憶.""" if len(self.undo_buf) > UNDO_MAX: del(self.undo_buf[0]) self.undo_buf.append(self.canvas_pixmap.copy()) def undo(self): u"""キャンバスをUndo.""" if len(self.undo_buf) > 0: pm = self.undo_buf.pop() self.canvas_pixmap = pm.copy() self.canvas_item.setPixmap(self.canvas_pixmap) return True return False
- キャンバス上でマウスクリックされたタイミングで、Undo用のデータを記録する。ブラシ描画する前にキャンバス相当の QPixmap をリストに格納。
- リストの要素数が一定数を超えていたら、最初の要素を削除してから、最後に QPixmap の copy を追加。
- Undo時は、リストの最後から copy してきて、リストの最後の要素を削除。
- buf.append(pixmap)ではポインタ(?)しか記録されないだろうから、ディープコピーをする QPixmap.copy() を呼んでる。つもりなのだけど、これで合ってるのかどうか…。
ただ、ちょっと気になる点が。Python で、配列の要素を削除した時、中身はちゃんと解放してくれているのだろうか…?
[ ツッコむ ]
#2 [zatta] 日本人は土地について無知になっているのではあるまいか
博多駅前の道路が、地下鉄工事の影響で大きく陥没、というニュースを目にして。元々件の土地は川が流れていた場所で、てな話も一緒に見かけたわけで。
そういう場所に地下鉄を作るってのは、どうなんだろうと。いやまあ、今までも何回か事故が起きていたらしいから、もちろん分かった上でやってるのだろうけど。
津波が来る場所なのに、高台をわざわざ削って低くして原発を建てて事故を起こしたソレもそうだし。「蛇落地悪谷」という地名を変えてしまって、危険な場所としての情報を隠してしまったらしい件もそうだろうし。 *1
もしかすると日本人は、自分達がどんな性質を持った土地に住んでいるのか、さっぱり気にしない無知な状態になっているのでは、と思ったりもしたけどどうなんだろう。
先人達がせっかく色々と記録を残しても、全然活かせない現代の日本人。みたいな。
そういう場所に地下鉄を作るってのは、どうなんだろうと。いやまあ、今までも何回か事故が起きていたらしいから、もちろん分かった上でやってるのだろうけど。
津波が来る場所なのに、高台をわざわざ削って低くして原発を建てて事故を起こしたソレもそうだし。「蛇落地悪谷」という地名を変えてしまって、危険な場所としての情報を隠してしまったらしい件もそうだろうし。 *1
もしかすると日本人は、自分達がどんな性質を持った土地に住んでいるのか、さっぱり気にしない無知な状態になっているのでは、と思ったりもしたけどどうなんだろう。
先人達がせっかく色々と記録を残しても、全然活かせない現代の日本人。みたいな。
◎ ウチの近所も色々とアレだったり。 :
ウチの近所でも、似たようなアレコレがあって。
阿武隈川が氾濫したら水没しそうな場所に、わざわざ郊外型のスーパーを作ってしまったりとか。あの店は、いつか完全に水没すると思うんだけど…。今でも激しい雨が降ると駐車場が池になるし…。
自分が住んでいる家も、近隣の湧き水の通り道とは知らずに建ててしまったトホホなソレだったり。工事前には、水のあるところに生える系の草がポツポツ生えていたそうで、少し下のほうの村に昔から住んでた人達は、「あそこは湿地みたいなもんだ」と知ってたらしい。けど、当時の両親は若かったから気にせず土地の値段だけで買ってしまって…。結果、床下がアレなことに…。
自宅の裏にあった山を削って作られた宅地も、山を削って作った部分と、谷を埋めて作った部分があって。後者の上に建てた家は、既に傾いてきてるという話が…。
てな感じで、昔から近隣に住んでいる人達は知っていたことが、新規層(?)には伝えられず、みたいなことがチラホラと。
阿武隈川が氾濫したら水没しそうな場所に、わざわざ郊外型のスーパーを作ってしまったりとか。あの店は、いつか完全に水没すると思うんだけど…。今でも激しい雨が降ると駐車場が池になるし…。
自分が住んでいる家も、近隣の湧き水の通り道とは知らずに建ててしまったトホホなソレだったり。工事前には、水のあるところに生える系の草がポツポツ生えていたそうで、少し下のほうの村に昔から住んでた人達は、「あそこは湿地みたいなもんだ」と知ってたらしい。けど、当時の両親は若かったから気にせず土地の値段だけで買ってしまって…。結果、床下がアレなことに…。
自宅の裏にあった山を削って作られた宅地も、山を削って作った部分と、谷を埋めて作った部分があって。後者の上に建てた家は、既に傾いてきてるという話が…。
てな感じで、昔から近隣に住んでいる人達は知っていたことが、新規層(?)には伝えられず、みたいなことがチラホラと。
[ ツッコむ ]
以上、1 日分です。