Python 独学プログラミング プログラミング初心者のPythonistaでUI作成〜Navigationviewの作り方まずは考え方から編〜

あっ どうも子へびです。

このぐらいの時期から湿度が上がると一気に汗をかきはじめる子へびです。そして水分摂取量が大量に増え飲んでは汗をかき飲んでは汗をかきなんだかずっとジメッとしている子へびです。あっまさにへび?




先週末それぞれに作成してきたUIを全て繋ぐNavigationviewの作成方法をMaster松陰から伝授してもらいました。作成codeはいつもの様に決まった書き方があるけれどもその前にそれぞれのUIがどの様に連携されいるのか構造を理解するところから勉強しました。
共通commonクラスを作成しそれぞれにデータをいききさせる。今までにはない構図でした。UIを持たない共通項のみをプールするcommonクラス。まずはここに何のデータを置いて置く必要があるのか考えないといけませんね。そしてNavigationviewコントローラのUIを作成して各クラスをインスタンス化させて繋げあう。

っとまぁ文章にするとこんな風になってしまうのですが一番手取り早いのは図にして理解することなのでこちらがその図です。

実際子へびには②にパーソナルデータを入力する画面があり③に前回載せたカロリー入力する画面を配置する予定です。しかしこの③には実際Tableviewとデータベースも繋がってるからここまでくるとUIってほんと階層がどんどん積み重なっていくんだなっと思います。

忘れないうちに早く作り出したいのですが一部データベースのcolumnを追加してユーザー名を入れる様にしたいのでがなぜだかうまくいかずまたSQLのテキストを見直し中で全く進みません。

子へび

もうエラーメッセージは見たくないよ〜。ドラえもん!

っと叫びたい子へびです。ちなみに今のエラーメッセージはduplicate column nameが表示され調べたら同じcolumnが2個あるからダメです。ってことらしい。いつ2つも同じcolumn作ったんだよ子へび!っと子へびに言いたい・・・。相変わらず子へびは穴に落ちております。それはおいといて

こちがら今回のMster松陰お手製のテキストです。もしこのcodeサンプルとしてだけ渡されても子へびにはまだまだ理解できないしMaster松陰の説明が毎度身にしみます。

Master松陰

せっかく説明したんだから早くとりかかりなさい。

っと言われてしまいそうな子へびです。




Python 独学プログラミング プログラミング初心者のPythonistaでUI作成〜仕上げに近づく?!〜

あっ どうも子へびです。

ここ数日のブログ更新のオサボリは本が読みたくてcodeを書くことがおざなりになっているのが原因です。読みたい本のストックがたまっています。でも今日1冊読み終わったので、読みたい気持ちをグッとこらえてしばらくお預けです。こんなに読みたい本が手元にあるのは最近見た文豪ストレイドッグスhttp://bungo-stray-dogs.jp/tv/と言うアニメに感銘を受けてそこに名だたる文豪がキャラクターとして設定されているのですが、あまりにかっこ良すぎてとうの本人の本を読みたくなってしまった次第です。学生の頃読んだ本の内容の記憶はなくなってしまっているのでまた新鮮な気持ちです。しかし文豪っていいですね。時代を超えてなお輝いています。中島淳、太宰治、谷崎潤一郎、坂口安吾、織田作之助、芥川龍之介このあたりが今ラインナップにあります。




UIもいよいよ大詰めにあり、codeを書かない子へびにMaster松陰からお尻を叩かれています。そして次なるテキストNavigationの遷移をMaster松陰が作ってくれたのでその前に今の問題点2つを解決しておかなければ・・・。急がなきゃ〜!

問題点その1は表示方法の変更だけだったので今日ちょっと1つ関数を作って入れ込んだら解決しました。今回はちゃんとセッターなのかゲッターなのか作る前にちゃんと考えましたよ!
問題点その2は画面が切り替わる際に表示するボタンです。Master松陰曰く

Master松陰

その画面操作に必要なボタンのみ表示し使用しないものは表示してはいけない。それはミス操作の誘導を防ぐのが目的ね。

っとういのが大前提かつコツらしく子へびが今作成したボタンの表示では画面操作との食い違いが生じている為これは・・・

子へび

分解と再構築です

 この言葉をMaster松陰からパクらないといけないな!

っと考えています。このボタンの件が済んだらようやくMaster松陰のチェックに申請できます。一様こんな子へびでも子へびなりに完璧なものを最終チェックには提出したいと思っています。笑




Python 独学プログラミング プログラミング初心者の落とし穴(pythonista)~陽の目をみないコード達 編~

あっ どうも子へびです。

桜餅を見かけたかと思ったら今度はもう柏餅が売ってました。柏餅といえばゴールデンウイーク!早く連休来ないかな〜。いつでも休みはwelcomeな子へびです。




UIの編集はボタンの表示に手こずり同じ箇所で穴に落ちたままです・・・。けど休み前に特別Master松陰からヒントをもらったのでなんとなく進めそうな気がします。ところでこのpythonで書いているUIコード一体どこで使えるんだろう?とハタと思いMaster松陰に質問してみました。

子へび

Master松陰このpythonのUIコードはどこかで使用することは可能なのでしょうか?

Master松陰

使用できる所は皆無です。iPhoneならSwiftですしAndroidならJavaScriptで書くのでpythonで書いたUIコードはどこにも使えません。pythonistaの中だけです。

子へび

えええ!じゃあこのpythonコード達は陽の目を見ることはないということですか?じゃあこれは自己完結なんですか?

Master松陰

うーん子へびの言ってることがよくわからないけどこれは練習なんだから別に陽の目をみなくてもいいんじゃないんですか?そんなことはあまり関係ないと思いますが。

子へび

いいえ関係大有りです!pythonだってこんなに立派なUIコードがあり作成できるのに使うところがないなんてpython愛好家としてはなんとも信じ難い事実です!pythonでUIを作ったっていいじゃないですか!

Master松陰

うーんやっぱり子へびの言ってることは理解できないけどたくさん言語があるんだからそれは仕方ないんじゃない?

っと一途両断。確かにそうなのかもしれないけどpython愛好家としてはなんだか寂しいかぎりです。知らぬ間にpython愛が深まりつい熱くなってしまう子へびです。そんな子へびにMaster松陰は

Master松陰

子へびそんなにpythonで書きたいならせっかくサーバーがあるんだからwebアプリケーション作ったら?それだったらほぼpythonで完成できるよ。あとは子へび自身が何をやりたいかだね。

確かに・・・。子へびpython愛は強いもののpythonで何がしたいかと問われるとう〜むと悩んでしまう。何を作っていきたいとか考えたことないしな。導かれるままにpythonを学ぶことになった子へびには改めて考えなきゃいけないことが増えたな〜。っと感じています。




Python 独学プログラミング プログラミング初心者のPythonistaでUI作成(datepicker)〜本当の意味編〜

あっ どうも子へびです。

餃子好きと知られている子へびですが、先日また新しいお店を開拓して好みの餃子を発見しご満悦の子へびです。今回は餃子の皮が美味しいのと中に肉汁がたっぷり入っている所がお気に入りです。そのお店の他のメニューも開拓してみよっと。




UIにチャレンンジ中の子へびですが、パーソナルデータの画面は先日作ってUPしたとおりですが他のデータ入力画面をもう一つ作っていて日付に所にdatepickerを使用しました。そこで子へびまた穴に落ちました。
datepickerで出てきた日付を取得してdebugtextに表示させたいのですが何度やってもnoneの表示。

子へび

Master松陰!detepickerの値をハンドラーで取得してdebugtextに表示させようとしているのでがうまくいきません。どうしてでしょうか?

Master松陰

・・・。子へびそれは完全におかしいでしょ!そもそもハンドラーの意味をちゃんと理解していない。ハンドラーとはユーザーが何か画面上値を入力したり何らかのアクションする事によって得た値をハンドラーを通して取得しているのであって子へびの書いているdetepickerのハンドラーは何意味もなしていない。ユーザーがそのdetepickerを操作しない限りハンドラーから値を取得することはできないよ。

っと言うように今回子へびが落ちた穴はUIのそれぞれの役割をちゃんと理解してない事が原因でした。初期値を取得する方法で解決はしたのですがそもそもdetepickerは通常こういった使い方はしないらしく、UI画面上のdetepickerの一般的な表示のさせ方はサンプルを後ほどMaster松陰にもらう事にしました。

しかしMaster松陰また新しい事にチャレンジしているらしくまた今回も猛烈に集中しているので、先に1画面目をdatabaseに接続してみなさいとの指示が。今日ちょっと取り掛かってみたらすんなりいかないのが子へび。しかしMasrter松陰曰く

Master松陰

30分もあれば完成するでしょ?

相変わらず厳しめです。書き始める前に30分構想を練っただけでまだ書き始められない子へびです・・・。