Pythonのお勉強 Part70

■ このスレッドは過去ログ倉庫に格納されています
2023/03/04(土) 00:18:00.31ID:dUl31UkL0
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/03/04(土) 00:19:06.75ID:dUl31UkL0
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/

〇前スレ〇
Pythonのお勉強 Part69
https://mevius.5ch.net/test/read.cgi/tech/1669293584/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ?

VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
NGNG
あぼーん
2023/03/04(土) 03:00:19.01ID:WvpGmU8fa
すみません、誤爆しました
5デフォルトの名無しさん (アウアウエー Sae3-4fLd)
垢版 |
2023/03/04(土) 10:46:55.93ID:RFNVa0Qia
気に入らんスレにわざと糞を誤爆していくスタイルが流行してるのか
2023/03/04(土) 12:31:36.27ID:dzC0UcmVr
誤爆しました、が早すぎるもんなw
2023/03/04(土) 15:40:07.16ID:3qRZ0uIJ0
宣伝のつもり
2023/03/05(日) 17:27:49.07ID:OIAGsQJL0
>>985
>>1先頭のコマンドが消えてるので忘れずにお願いします

!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
9デフォルトの名無しさん (ブーイモ MMcb-9TyZ)
垢版 |
2023/03/08(水) 18:10:06.14ID:wJcZOEvRM
pytorchかTensorかどちらがおすすめですか?
目的はマルチグラボやりたいです。
10デフォルトの名無しさん (オッペケ Sr45-73Gx)
垢版 |
2023/03/08(水) 20:00:15.07ID:RfZgO4/gr
超ザックリ説明すると自分で色々アルゴリズム組んで試行錯誤するのがpytorchで出来合いのモデルを使ってパパッと動かすのがTensorflowだから用途で使い分けろ
11デフォルトの名無しさん (ワッチョイ 8bbb-eSjy)
垢版 |
2023/03/08(水) 20:58:22.98ID:70Ab32L60
なんでこうなるんだよ
なんで描き直しても期待する動作になんねーカスって思ってたら
def __lt__が逆になってた
ウンコ
12デフォルトの名無しさん (ブーイモ MMcb-9TyZ)
垢版 |
2023/03/09(木) 06:39:31.71ID:i4wzinQPM
jaxにしようかな。仲間いる?
13デフォルトの名無しさん (ワッチョイ 8b46-FY7J)
垢版 |
2023/03/09(木) 14:51:58.35ID:dnXaT67E0
>>8
補充しないとどんな問題があるの。
14デフォルトの名無しさん (ワッチョイ f997-9YaP)
垢版 |
2023/03/10(金) 02:09:46.33ID:YTsMunwf0
>>10
そうか…?自分はtfから入ったから、自分でなんか書くときはtfで人の作ったコードを試すときはtorchだわ…
2023/03/11(土) 10:21:20.03ID:ouaEQp1j0
tkinterで配置したボタンをマウスで左クリックした時の挙動について、
command=test_func を使った場合は、
ボタンを左クリックした時に、ボタンが押し込まれたような表示になる。

これを少し改造して、①左クリック②右クリックのそれぞれで違う処理を行わせようとした時に、
---------------------------------------------
def test_func(event):
  if event.num != 3:
# ②右クリックの場合のみ行う処理
  ~~~ # ①②共通の処理

btnExeAll.bind('<ButtonPress>', test_func)
---------------------------------------------
例えばこんな感じで書くと、
ボタンを押した時に、左クリック右クリックのどちらでも、ボタンが押し込まれたような表示にならない。
左クリックした時だけでいいので、command=test_func と同じようにボタンが押し込まれた表示にする方法があったら教えてください。
2023/03/12(日) 15:15:03.60ID:8DcR0+gea
答えてやりたいが質問の仕方が悪い
2023/03/12(日) 16:42:37.35ID:jZpwdQUt0
>>15
右クリックの場合はevent.numが3になるから、
コードの最初のコメントは「②(右クリック)以外の場合のみ行う処理、が正しい。
2023/03/12(日) 19:52:32.58ID:xt3GkkaO0
同じく答えてやりたいが読む気がしない
19デフォルトの名無しさん (ワッチョイ 9a02-IuBB)
垢版 |
2023/03/12(日) 22:44:23.51ID:i1OoCA6Z0
Tk/tkinter使ったことないんで参考にならないかもしれないけど…
WebフロントエンドとかGUIプログラミングでよくあるんだけど、
多くの場合、ボタンをクリックしたことになるのは、ボタン内でマウスボタンが押下された瞬間じゃなくて、マウスボタンが離された瞬間だと思うんだよね。
んで普通にclick=で関数を指定したときは、ボタン押下でボタンが押された風に表示を変更し、
ボタンが離された時にボタンが離されたふうに表示を変更し、さらに離されたときにマウスカーソルがボタン内にあれば
クリック扱いにして関数を実行する、というようなbindをしてると思うんだよね。
だから、buttonpressのイベントハンドラをそのまま上書きするとボタンの挙動としては望ましくないことが多く起きるのではないかなー
20デフォルトの名無しさん (スププ Sd9a-cOGZ)
垢版 |
2023/03/13(月) 09:56:24.19ID:O2fmNbgQd
Pythonのような完成度の高い言語を学習している人が羨ましい
2023/03/13(月) 11:06:27.30ID:bF2IN6wDa
全部君の自演
https://www.youtube.com/watch?v=5xbVQyWm1XM
2023/03/13(月) 18:06:53.00ID:AZxG6RRt0
わざわざpythonでGUI作ろうとする理由は学習コストが低いからだよなと思ったけどtkinterは学習コスト高すぎるだろ
俺ならunityかvcで書く
2023/03/13(月) 18:07:50.55ID:AZxG6RRt0
実行が遅すぎるから割に合わないって話やで
24デフォルトの名無しさん (ワッチョイ d610-AByi)
垢版 |
2023/03/13(月) 18:59:12.39ID:cd47iZKk0
tkinter使ってみたらすんごくサイズ感覚つかめないんだけど
これ難しくない…
pysideとかの方がいいわ
2023/03/13(月) 19:03:17.33ID:OdjJNclg0
ウィジェットの配置には3つの方法がある

(1) .pack()...縦か横1列に配置する(1次元配置)
(2) grid......格子状に配置する(2次元配置)
(3) place.....位置(座標)を指定して配置する
26デフォルトの名無しさん (アウアウエー Sa22-hM7q)
垢版 |
2023/03/13(月) 20:57:32.06ID:RfKK3GLna
wxPython 一択
2023/03/14(火) 17:26:04.53ID:w+BRWFOF0
>>19
ヒントありがとうございます。

btnExeAll = tk.Button(root, text='○○○')
btnExeAll.bind('<ButtonRelease>', test_func)

tk.Button()の中に書いていた「command=test_func」を削除して、
ButtonReleaseにtest_funcをbindさせることで意図した動作になりました。
マウスボタンが押下された段階では通常のtk.Button押下時の表示(ボタンが押し込まれた表示)で、
そのマウスボタンが離された瞬間にtest_funcが呼ばれるイメージですね。
28デフォルトの名無しさん (ワッチョイ 9597-IuBB)
垢版 |
2023/03/14(火) 18:41:35.49ID:3laCMUtU0
>>27
お役に立てたようで良かった
2023/03/15(水) 00:00:32.28ID:114k6lJ80
>>15
tkinterのボタンを押した時に、ボタンが押し込まれたような表示になるのは、ButtonPressイベントが発生したときのデフォルトの挙動です。ButtonPressイベントは、マウスのボタンが押されたときに発生するイベントであり、ButtonReleaseイベントと共にボタンのクリックイベントを表します。
通常、ボタンが押し込まれたような表示になるには、ButtonPressイベントでその状態を設定し、ButtonReleaseイベントで解除する必要があります。しかし、commandオプションを使う場合は、ButtonPressイベントで何かしらの処理を行うことができません。
そこで、ButtonPressイベントで特定の処理を行い、その後にcommandオプションで指定した関数を呼び出すことで、ボタンが押し込まれたような表示にすることができます。具体的には、以下のようなコードになります。

def test_func(event):
if event.num == 1: # 左クリックの場合のみ行う処理
btnExeAll.config(relief=tk.SUNKEN) # ボタンを押し込んだ表示にする
# ②右クリックの場合のみ行う処理
# ①②共通の処理
btnExeAll.bind('<ButtonPress>', test_func)
btnExeAll.config(command=lambda: None) # commandオプションを無効化する

このコードでは、ButtonPressイベントで左クリックの場合にボタンを押し込んだ表示にし、右クリックの場合には何も処理を行いません。また、commandオプションを無効化するために、空のlambda関数を指定しています。これにより、ButtonPressイベントでの処理とcommandオプションで指定した関数が重複して実行されることを防ぐことができます。
なお、ボタンを押し込んだ表示を解除するには、ButtonReleaseイベントでボタンの状態を元に戻す必要があります。以下のように修正することで、ボタンを押した時にボタンが押し込まれた表示になり、離した時に元の表示に戻るようになります。

def test_func(event):
if event.num == 1: # 左クリックの場合のみ行う処理
btnExeAll.config(relief=tk.SUNKEN) # ボタンを押し込んだ表示にする
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況