デジタル時計の改良

pythonでのデジタル時計

pythonでこの前作ったデジタル時計、画面右上に出るようにしていたが、最近左上に寄せることが多くなった。なので、ボタンをつけて左上に出して、右上に出したいときはボタンを押すと左上に移動するようにした。

-広告-

pythonの手順の確認

久しぶりにpythonいじったので、やり方を忘れてしまっていた。なのでまずは手順の思い出しから。

まずソースの表示

テキストエディタを起動してソースを表示する。メモ帳を使ってみた。

今回追加したのは、

ボタンの配置

button1 = tkinter.Button(

root,
text=”P”,
font=(“arial”, 8),
command=click_btn

)

button1.place(

x=235,
y=70

)

と、ボタンが押された時の処理

# click_btn action
def click_btn():

button1[‘text’] = ‘.’
w = root.winfo_screenwidth()
w = w – 265
root.geometry(“250×90+” + str(w) + “+10”)

さらに、root.geometryの初期値の変更。左上に表示するように。

root.geometry(“250×90+5+5”)

ANACONDA起動

動かしてみるために、ANACONDAを起動。「CMD.exe Prompt」をクリックして、コマンドラインでで実行する。

 

(base) C:\Users\fummy\python>python pydclock02.py

なかなかいい感じ。

Windows用にpyinstallerにてexe化

(base) C:\Users\fummy\python>pyinstaller pydclock02.py –onefile –noconsole

アイコンも変えることもできるが、とりあえず標準のこれで。なかなかかわいいアイコンなんで。

#python #anaconda #pyinstaller #windows #exe #button #tkinter #place

Python でデジタル時計-2

テキストエディタの変更

MacではPythonのコードを書くのに、テキストエディットを使っていたが、どうもイマイチなので、Mac用で何かないかと探してみた。ネットで探ってみたところVisual Studio Codeがええと書いてあったが、Microsoftに帰るのもなあと、他にないかとMacfanを見ているとCotEditorがええと書いてあったので、早速使ってみた。なかなかええようだ。

Mac App Store からダウンできる。

 

Windows側でもいじってみる

python で書いている時計。この前は図形(canvas)として時刻を表示していたが、ラベルでもいいので、書き直してみた。そして、Windows11で実行してみた。普通に動く。OS選ばないpythonいいなあ。

 

細かい位置表示の設定

この前からイジっているデジタル時計、細かい表示位置を設定した。コードも見やすい書き方に直した。文字はラベルで表示、配置はpackでやっていたが、placeで細い位置の指定をやってみた。

ソースをMacに移してMac側でも動作確認して、ついでにpyinstallerでapp化しておいた。

pyinstallerは、ターミナルで以下のコマンドを入力

(base) macmini@MacmininoMini ~ % pip3 install pyinstaller

pyinstallerは最初エラーが出た。
pathlibにbackportがあるからconda remove pathlibせよと。

(base) macmini@MacmininoMini python % pyinstaller pydclock01.py –onefile –noconsole
The ‘pathlib’ package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in /Users/macmini/opt/anaconda3/lib/python3.9/site-packages) using
conda remove
then try again.

なので、リムーブ

(base) macmini@MacmininoMini python % conda remove pathlib

これを実行したら、問題なくapp化できた。

Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

environment location: /Users/macmini/opt/anaconda3

removed specs:
– pathlib

The following packages will be downloaded:

package | build
—————————|—————–
conda-23.1.0 | py39hecd8cb5_0 938 KB
conda-package-handling-2.0.2| py39hecd8cb5_0 268 KB
conda-package-streaming-0.7.0| py39hecd8cb5_0 28 KB
ruamel.yaml-0.17.21 | py39hca72f7f_0 179 KB
ruamel.yaml.clib-0.2.6 | py39hca72f7f_1 126 KB
zstandard-0.19.0 | py39h6c40b1e_0 452 KB
————————————————————
Total: 1.9 MB

The following NEW packages will be INSTALLED:

――― 中略 ---

 

これでまあ、骨格部分は出来たかな。あとは細かい機能の作り込みだ。どういう機能をプラスするかも考えないと。

pyinstaller pydclock01.py –onefile –noconsole
でapp化。出来たアイコンもなんだか可愛い!!

 

#Mac #MacMini #python #tkinter #pyinstaller

 

Python でデジタル時計

Windowsでのデジタル時計

この前windows11でトラブルを起こしていたVBで作っているデジタル時計、解決法はわかった。セキュリティの設定でランサムウェアの項目があるのだが、そこでこのアプリはOKと登録すればよかった。(簡単;

しかしMacでは使えないデジタル時計

ところで、このデジタル時計便利に使っているのだが、VBで作っているのでMacでは使えない。
Macではウィジェットでアナログ時計は出るが、デスクトップの他の部分をクリックすると消えるし、ちょっと小さくはっきりしない。
なので、Mac版デジタル時計を作り始めた。言語はPythonでGUIはTkinterを使って、まずは簡単なものを作ってみた。細かいデザインや機能はこれからです。

GUIの表示。まだ単純なものだけ

コード、単純に動くだけ

今後は

Windows版と同じでは芸もないので、色々やってみよう。
Pythonで作っておくと、Pythonの環境があれば、WindowsだろうがMacだろうがLinuxだろうがどこでも動くので、超便利そう。

 

UbuntuでPython

Ubuntu機-python

Ubuntu機、交換したHDDも順調に稼働。データのバックアップも粗方終わったので、Windows側でやっていたpythonをUbuntu機に移してやってみた。
CUIベースのやつは、簡単に動く。

ライブラリ追加

しかし、グラフを書かせるものはどうもライブラリーがはいっていないようなので、追加でいれた。

~$ sudo apt install python3-matplotlib

すると、見事にUbuntu機でもpythonのテストが動いた。グラフを書くmatplotlibも動く。

――― コード ---

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-5, 5, 0.1)
y = np.sin(x*2) + np.sin(x*11)/5 + np.sin(x*21)/8 + np.sin(x/3)/2 + np.sin(x*3)/3 + np.sin(x*13)/10

plt.plot(x,y)
plt.show()

――― ---

tkinterもOK

GUIを表示するtkinterも入ってきたもよう。

――― コード ---

import tkinter as tk
import tkinter.ttk as ttk

# rootメインウィンドウの設定
root = tk.Tk()
root.title(“Frame”)
root.geometry(“300×200”)

frame = tk.Frame(root, pady=10, padx=10)
frame.pack()

label = tk.Label(frame, text=’これはラベル’)
entry = tk.Entry(frame)
button = tk.Button(frame, text=’これはボタン’)

label.pack()
entry.pack()
button.pack()

root.mainloop()

――― ---

これはひょっとしてすごいことでは。??
だってWindowsで書いたコードがUbuntu機(Linux)でも動く。さらにはおそらくMacでも。??

#Ubuntu #Linux #Windows #Mac #Python #tkinter #matplotlib