mieki256's diary



2016/11/24(木) [n年前の日記]

#1 [python] PySideでアコーディオンっぽいソレを実験

アコーディオンっぽいウィジェットを実現してみたい。クリックすると中身が開いたり閉じたりするアレ。

あのUI、名前が分からんのだけど。とりあえず以下のページでもアコーディオンって言ってるし、それでいいのかな…。どうなんだろ…。

_モバイルデバイスにおけるアコーディオンUI - U-Site

こんな感じだろうか…。アニメーションは無いけれど。

_hide_widget_test.py
u"""
Widgetの表示・非表示ができるかどうかのテスト.

動作確認環境 : Windows10 x64 + Python 2.7.12 + PySide 1.2.4
"""

import sys
from PySide.QtCore import *  # NOQA
from PySide.QtGui import *   # NOQA


class AccordionWidget(QWidget):

    u"""アコーディオンモドキのカスタムウィジェット."""

    layout_changed = Signal()

    def __init__(self, title, parent=None):
        """init."""
        super(AccordionWidget, self).__init__(parent)
        self.title = title
        self.open_flag = True

        self.open_btn = QPushButton("", self)
        self.open_btn.setStyleSheet("text-align: left;")
        self.update_button_text()

        self.mainw = QLabel(self)
        self.mainw.setPixmap("./tmp_bg.png")

        l = QVBoxLayout(self)
        l.addWidget(self.open_btn)
        l.addWidget(self.mainw)
        self.setLayout(l)

        self.open_btn.clicked.connect(self.open_close_main_widget)

    def open_close_main_widget(self):
        u"""メインウィジェットを開いたり閉じたりする処理."""
        if self.open_flag:
            self.mainw.hide()
            self.open_flag = False
        else:
            self.mainw.show()
            self.open_flag = True
        self.update_button_text()
        # self.layout().update()
        self.updateGeometry()
        # self.update()
        self.layout_changed.emit()

    def update_button_text(self):
        u"""開閉ボタンのテキストを設定."""
        if self.open_flag:
            self.open_btn.setText(self.title)
        else:
            self.open_btn.setText(u"> " + self.title)


class TestQTabWidget(QWidget):

    u"""メインウインドウ相当."""

    def __init__(self, *argv, **keywords):
        """init."""
        super(TestQTabWidget, self).__init__(*argv, **keywords)

        page1 = AccordionWidget("page 1", self)
        page2 = AccordionWidget("page 2", self)
        page3 = AccordionWidget("page 3", self)

        l = QVBoxLayout()
        l.addWidget(page1)
        l.addWidget(page2)
        l.addWidget(page3)
        self.setLayout(l)

        page1.layout_changed.connect(self.changed_layout)
        page2.layout_changed.connect(self.changed_layout)
        page3.layout_changed.connect(self.changed_layout)

    def changed_layout(self):
        u"""レイアウトが変更された時に呼ばれる処理."""
        # レイアウトを再計算させるときは以下のように書くらしい
        self.layout().activate()
        self.resize(self.sizeHint())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = TestQTabWidget()
    w.show()
    sys.exit(app.exec_())

hide_widget_test_ss01.gif


QWidget を非表示にするのは、hide()。表示するのは show() でいいらしい。ちなみに最初は show() の代わりに setVisible(True) を呼んでたけど、そっちでも表示できた。

ウィジェットを表示した時はウインドウが大きくなってくれるけど、隠した時は小さくなってくれなくて悩んだり。レイアウトの再計算が必要なのだろうけど。

レイアウトを再計算してウインドウをリサイズする方法は、 _PySide and Python Tips - The Art & Tech of Christian Akesson で紹介されてた。
layout.activate()
self.resize(self.sizeHint())
これで、現状に合わせてサイズ変更されるようになった。

ボタン内のテキストを左詰めで表示したい時は、スタイルシートで指定するようで。
self.open_btn.setStyleSheet("text-align: left;")
こんな感じでいいらしい。

ボタンに記号を表示したいのだけど。 :

中身を開いてる時と閉じてる時で、ボタン上に異なる記号を表示したいのだけど、何を表示すればしっくりくるのか悩んでしまったり。

右向き・下向きの三角を表示したほうが分かりやすいのだろうか…。でも、その手の記号を含んでいて、どのOSでも使えるフォントってあるのかな。無さそうな気もするけど。

あるいは、「[+}」「[-]」みたいなソレのほうが…。いや、ソレはちょっと見た目がダサいかな…。

フツーは何を表示するんだろう。そういえば、Webページ上のソレは、記号の類は何も表示してない場合が多いか。実は何も表示しなくてもユーザ側はおおよそ使い方が分かる…のかなあ。どうなんだろ。

#2 [pc] クロスプラットフォームで使える記号って何だろう

Windows、Linux、Macで、共通して使える記号って何だろうなと。記号と言うか、全角記号を含んだフォント、なのだろうけど。

「+」「-」「=」等の半角記号ならどのOSでも使えるだろうけど、三角記号等は全角フォントじゃないと使えないのではないかな…。となると、どのOSでも使える日本語フォントがあるのかどうか、という話になってしまいそうな。

と思ってググり始めたのだけど。もしかして、 _Webdings_Symbol なら、どのOSでも使えたりするのだろうか? 少なくとも Ubuntu は、Webdings がインストールできるみたいだし、Mac は Webdings を持ってるみたいだし。であれば、わざわざ日本語フォントを探さなくても済むのかな。

_Ubuntu で Microsoft 系のフォントをインストール : Serendip - Webデザイン・プログラミング
_わかばマークのMacの備忘録 : 絵文字フォント「Webdings」「Wingdings」

でも、例えば PySide (PyQt)等で、ボタンのテキストに複数のフォントを指定、とかできるのかな…。最初の1文字は Webdings で、その後の文字列は _Arial とか。どうなんだろ。

余談。今まで知らなかったけど、Webdings っていきなりキーボードから英数字や半角記号を打つだけで表示されるのだな…。

#3 [nitijyou] 某所に行ってきた

Windows7が動いてるDELL製PC、OptiPlex 3020 が起動しない、という相談を受けたので某所まで。朝から雪が降っていて自転車で行くのはちと無理そうだったので、親父さんの運転する車で送り届けてもらった。AM09:00-AM11:20まで作業。

症状をメモ。 :

DELL製PCの電源スイッチLEDが黄色で点滅して起動しない、という症状で。DELL製PCに共通して起きる症状らしいので、一応メモ。

_電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 | Dell 日本
_電源ボタンが黄色く点灯、または点滅してパソコンが起動しない場合の対処方法 (ビデオ) | Dell 日本

上記ページでは、確認作業として以下が提示されていたので試してみたり。一応、一昨日の時点で、某所内のPC大臣が既に一通り試したはずだけど、「とにかく様子を見てくれ」と言われてしまったので、念のために自分も試したり。
  • 外付け機器を外してみて、症状が変わるか確認。
  • ケースを開けて、HDD、光学ドライブ、M/Bに接続されたケーブルを全部差し直して、症状が変わるか確認。
  • ボタン型電池を外して、数分放置してから入れ直して、症状が変わるか確認。
  • メモリを外して、差し直して、症状が変わるか確認。

ボタン型電池を外したり、メモリを差し直したりしてから、電源ケーブルを差したところ、BIOS画面が表示された。メッセージに従ってF5キーを押してハードウェアチェックをしてみたところ、十数分ほど色々なチェックが走って、結果は異常無し。メニューからReboot(再起動)を選んだら、Windowsが起動した。

しかし、Windowsをシャットダウンさせたら、また電源LEDが黄色の点滅状態に。

そこから先は電源スイッチを押しても無反応。某所に到着した時と同様、電源が入らない状態に戻ってしまった。ケース裏の電源部分についてるスイッチを押すと、押した時だけ電源裏面のLEDが緑に光るけど、スイッチを離すと消灯したまま。何も変化無し。

DELLのサポートに電話して状況を報告してみたら、黄色の点滅のパターンでどこがおかしいのか少しは判別できるとの話で。等間隔で点滅してるか、2回点滅して少し間があいて1回点滅を繰り返してるかを質問された。後者のパターンであることを報告。

すると、「ケーブルを外して電源スイッチを15〜20秒ほど押し続けると内部放電する。症状が変わるかもしれないから試してほしい」とアドバイスが。その通りにしてみたら、BIOS起動・Windows起動に進んだ。

サポートの方の話では、「内部放電をしてみて起動するとなると、再現性がある症状として扱えない」とのことで。内部放電しても電源が入らなければ完全に故障扱いになるらしいけど…。仮に故障してるとしたら電源ユニットの可能性が高い、とも話していた。推測だけど、黄色の点滅が、2回+間+1回、なら電源が故障、ということなのかなと。こちらの勝手な推測なので違ってるかもしれんけど。

修理費用は、保証期間が切れているPCなので…。
  • 訪問修理の場合、約55,000円。
  • DELLに送って修理するなら、約30,000円。
  • 部品だけ取り寄せて自分で修理するなら約18,000円。
との話。更に、今から部品を手配しても来週頭に発送できるかどうか、とのこと。

某所としてはすぐにでも直してほしいそうで。さあ、困った…。

その他の詳細についてはGRPでメモ。

電源部分についてるスイッチについて。 :

_デスクトップパソコンが起動しない場合のトラブルシューティング | Dell 日本 によると、PC背面の、電源部分についてるスイッチやLEDは、自己診断スイッチ・自己診断ランプ、らしい。押してる間、LEDが緑に光る状態が正常で、何か壊れたハードウェアがどこかに接続されている場合、押しても光らない…という感じに読めるのだけど、違うのかな。

関連ページをメモ。 :

_DELLのオレンジ点滅:パソコン診療所のブログ
DELL製品の電源ランプのオレンジ点滅は、電源関連の不具合(電解コンデンサのパンク、ファンの不良など)が多い。

DELLのオレンジ点滅:パソコン診療所のブログ より


_Dellのパソコンの電源ランプがオレンジ色で起動しない対処方法 | エクセル・アクセスでデータベース管理
1.後ろの電源コードを抜いてください。抜いても緑色のランプがついたままではありませんか?
2.後ろの電源コードを抜いたまま、電源ボタンを押してください。当然、電源ボタンを押しても電源は入りません。
3.後ろの緑のランプが消えているでしょ! これで、問題は解決しました。

Dellのパソコンの電源ランプがオレンジ色で起動しない対処方法 | エクセル・アクセスでデータベース管理 より

えっ…。点灯したままだと問題が発生してる状態、だったのか…。

_電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ
背面の電源コンセント横の黒いスイッチを押して、LEDが点灯しなければ、電源ユニットに問題があるのだという。

電源ボタンが黄色に点滅してパソコンが起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ より

なるほど…。自己診断ランプで電源自体に問題があることが分かる、と…。

_パソコンの電源が入らない、電源ランプが点灯せず起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ
webを調べると分かるが、 「パソコンの電源が入らない、電源ランプが点灯せず起動しない」という話題は結構メジャーだっ。 なんでも、静電気が悪さをするらしい。

パソコンの電源が入らない、電源ランプが点灯せず起動しない場合の対処方法 ( その他趣味 ) - ブログ版−桐のイベント道場 - Yahoo!ブログ より


_Dellのパソコンで電源ランプがオレンジ色に点灯して起動しなくなったら | パソコンサポート IT-hands@福井市
Dellのサポートセンターに問い合わせたところ 考えられる原因として、
原因1.本体が帯電している。(電気が残っている)
原因2.メモリが気温で膨張している。(抜き差しを試すと改善すること多い)
原因3.本体内部にほこりが溜まっている。
原因4.本体内に熱がこもっている。

Dellのパソコンで電源ランプがオレンジ色に点灯して起動しなくなったら | パソコンサポート IT-hands@福井市 より

放電を試すように言われたのは、そういう事情があるから、なのか…。 ロスでは DELL製PCでは日常茶飯事、と…。

_Dell OptiPlex 3020 - ミニタワー オーナーズマニュアル

LEDの点滅が、2回+間+1回なら、M/Bで障害が、と書いてあるな…。電源がアレなわけじゃないのか…?

#4 [anime][zatta] 「買い切り」型の後にくるもの

思考メモ。

大昔のTVゲームは、ゲームセンターに行かないと遊べなかった。100円を入れると自分が負けるまで遊べる。そういう形で提供されてた。そのうち、家庭用ゲーム機が発売されて、ゲームソフトを1本単位で「買い切り」をして遊べるようになった。

大昔の漫画は、貸本屋さんで借りないと読めなかった。そのうち、雑誌を売ったり、単行本を売ったりする形で漫画が普及し始めた。読者は、一冊単位で「買い切り」をして漫画を読めるようになった。

大昔のアニメは、映画館に行かないと見れなかった。料金を払って、映画館に入って、館内に居る間は視聴することができた。そのうち、TVが家庭に普及して、映画館に行かなくても毎週見れるようになったけど。録画機器が無かったから、そのアニメが放送されてる時間、TVの前に座ってないと見れなかった。さらにそのうち、ビデオデッキが発売されて、お金を持ってる人は1本単位でアニメ(が入ったビデオテープ)を「買い切り」して視聴できるようになった。そして今では、ビデオテープはBDやDVDに置き換わり、BDやDVDを売ることでアニメ業界が成立するようになった。

TVゲームと、漫画と、アニメ。どれも展開が似てるよなと。

そして、今、TVゲームはどうなっただろう。

今も、アーケードゲームは存在するし、家庭用ゲーム機向けにゲームソフトが販売されてたりするけれど。おそらく勢いがあるのは、オンラインゲームというか、スマホゲーというか、そのあたりだろうなと。

ということは、いずれアニメも…。

と安易に思ってしまったけれど、スマホゲーの場合は「サービス」として提供されてるわけで。しかも時々アップデートされたりするわけで。

アニメの場合は、サービス提供、という形ではないよなと。アップデートもされないし。

となると、TVゲームとはまた違う展開になるのだろうか。

オチはないです。漠然と、「どうなるのかなー」と思っただけで。

未来のアニメオタク・アニメマニアのスタイルはどうなってるんだろう。山ほど記録メディアを持っているタイプも残っているだろうけど、おそらくそれは主流のスタイルじゃなくて…。例えば、未来世界を舞台にした漫画・アニメ・ゲーム作品内に登場する、未来のアニメオタク像とは…。どういうスタイルになってるのかな…。

以上、1 日分です。

過去ログ表示

Prev - 2016/11 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project