質問編集履歴
2
追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -75,4 +75,51 @@
|
|
75
75
|
### 補足情報(FW/ツールのバージョンなど)
|
76
76
|
Windows10 64bit
|
77
77
|
Python3.6
|
78
|
-
RichPresenceの表示にはpypresenceを使用してます。
|
78
|
+
RichPresenceの表示にはpypresenceを使用してます。
|
79
|
+
|
80
|
+
###追記
|
81
|
+
threadingからmultiprocessingに変えたところ、起動しボタンを押してrichpresenceを有効化するところまではできたのですが、そこで新しいウインドウが開きそれがフリーズしてしまいます。
|
82
|
+
最初に開いたウインドウはフリーズしていません。
|
83
|
+
https://stackoverflow.com/questions/46674498/tkinter-is-opening-multiple-gui-windows-upon-file-selection-with-multiprocessing
|
84
|
+
調べてみたところ上記のような情報が見つかり試してみたのですが、特に変わりはありませんでした。
|
85
|
+
以下変更後のソースコードです。
|
86
|
+
```Python
|
87
|
+
import psutil
|
88
|
+
from pypresence import Presence
|
89
|
+
import time
|
90
|
+
import tkinter as tk
|
91
|
+
from tkinter import messagebox as mbox
|
92
|
+
import multiprocessing
|
93
|
+
|
94
|
+
|
95
|
+
client_id = 'クライアントID'
|
96
|
+
|
97
|
+
n = "\n"
|
98
|
+
|
99
|
+
starttime = time.time()
|
100
|
+
|
101
|
+
def rp():
|
102
|
+
RPC = Presence(client_id, pipe=0)
|
103
|
+
RPC.connect()
|
104
|
+
mbox.showinfo("info", "ステータス表示を有効化しました")
|
105
|
+
while True:
|
106
|
+
cpu_per = round(psutil.cpu_percent(), 1)
|
107
|
+
mem_per = round(psutil.virtual_memory().percent, 1)
|
108
|
+
RPC.update(start=int(starttime), details="メモリ使用率: " + str(mem_per) + "%", state="CPU使用率:"+str(cpu_per))
|
109
|
+
time.sleep(1)
|
110
|
+
|
111
|
+
|
112
|
+
def callback():
|
113
|
+
mp = multiprocessing.Process(target=rp)
|
114
|
+
mp.start()
|
115
|
+
|
116
|
+
|
117
|
+
if __name__ == "__main__":
|
118
|
+
root = tk.Tk()
|
119
|
+
root.geometry("500x300")
|
120
|
+
|
121
|
+
button1 = tk.Button(text="有効化", font=("", 30), width=15, height=5, command=callback)
|
122
|
+
button1.pack()
|
123
|
+
|
124
|
+
root.mainloop()
|
125
|
+
```
|
1
少しコードを修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -61,6 +61,7 @@
|
|
61
61
|
th.start()
|
62
62
|
|
63
63
|
|
64
|
+
|
64
65
|
button1 = tk.Button(text="有効化", font=("", 30), width=15, height=5, command=callback)
|
65
66
|
button1.pack()
|
66
67
|
|