python memory issues blogs
http://terrence.logdown.com/posts/700111-python-track-memory-usage
https://www.codetw.com/ceplqhk.html
https://mg.pov.lt/objgraph/
pyqt good blog
http://ogc-daily.blogspot.com/2009/04/pyqt-part-1-introduction.html
2019年2月27日 星期三
2019年2月26日 星期二
Linux -- add swap space
最近發現 Tx2 上的 python code 跑一兩天會被 OS killed , 看 log 是 out of memory ...
於是增加 swap 試試
下面是別人寫的 增加 swap 的方法
https://shazi.info/linux-oom-killer-kernel-out-of-memory-killed-問題處理-手動增加動態-swap/
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04
於是增加 swap 試試
下面是別人寫的 增加 swap 的方法
https://shazi.info/linux-oom-killer-kernel-out-of-memory-killed-問題處理-手動增加動態-swap/
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04
2019年2月8日 星期五
python Line Push Message APi
因為工作需要 study 一下 Line API
https://medium.com/life-of-small-data-engineer/初次嘗試-line-bot-sdk-eaa4abbe8d6e
上面是別人寫的, 照做就完成了 很簡單
https://medium.com/life-of-small-data-engineer/初次嘗試-line-bot-sdk-eaa4abbe8d6e
上面是別人寫的, 照做就完成了 很簡單
PyQt5 不同平台有小差異
最近因工作需要在不同平台跑 PyQT5 , 包含 Windows, Mac , Linux , embedded Linux (Tx2)
但發現code run 起來沒有 error , 但是顯示是是乎有點差異
等有空再詳細測試
但發現code run 起來沒有 error , 但是顯示是是乎有點差異
等有空再詳細測試
Python 心得
因為工作需要再每天固定時間 發送 Line Message
每想自己寫, 但後來想找找有沒有package 可用
果然找到好用的package 叫 APScheduler
https://apscheduler.readthedocs.io/en/latest/userguide.html
他有很多功能, 我只試過我要的功能就是固定每天特定的時間執行特定功能
code 如下
day_of_week='0-6' (星期一到日) 記得是從0開始 每天 19 點 33 分 執行 showDate
很簡單吧
def showDate():
if __name__ == '__main__':
scheduler = BlockingScheduler()
scheduler.add_job(showDate, 'cron', day_of_week='0-6', hour=19, minute=33)
scheduler.start()
每想自己寫, 但後來想找找有沒有package 可用
果然找到好用的package 叫 APScheduler
https://apscheduler.readthedocs.io/en/latest/userguide.html
他有很多功能, 我只試過我要的功能就是固定每天特定的時間執行特定功能
code 如下
day_of_week='0-6' (星期一到日) 記得是從0開始 每天 19 點 33 分 執行 showDate
很簡單吧
def showDate():
if __name__ == '__main__':
scheduler = BlockingScheduler()
scheduler.add_job(showDate, 'cron', day_of_week='0-6', hour=19, minute=33)
scheduler.start()
2019年2月7日 星期四
PyQt5 教學 --- QCheckBox 使用
Check Box 主要用來製作如 To do List 等應用
使用上也非常簡單
使用QCheckBox 宣告 checkbox , 後面再帶checkbox
就可以定義一個 checkBox ,
cb1 = QCheckBox('Python', self)
之後可以用 clicked.connect , 或是 stateChanged.connect , 來建立信號
當然最重要的是要知道 box 是否被enable 或disable
因為 clicked 或是 stateChanged 都會發出信號
可以使用 isChecked() 來判定是否被 check. 如果是 check return True
使用 .toggle() 則一開始就會被 check
下面是sample code
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QCheckBox
class Windows(QMainWindow):
def __init__(self):
super().__init__()
cb1 = QCheckBox('Python', self)
cb.move(20, 20)
cb2 = QCheckBox('C++', self)
cb2.move(20, 40)
self.cb3 = QCheckBox('Java', self)
self.cb3.move(20, 60)
self.cb3.toggle()
self.cb3.clicked.connect(self.cb3click)
self.setGeometry(50,50,320,200)
self.setWindowTitle("Checkbox Example")
self.show()
def cb3click(self):
if self.cb3.isChecked():
print("Java is selecsted")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Windows()
sys.exit(app.exec_())
當然實際應用會不會這們簡單, 之後再慢慢寫
使用上也非常簡單
使用QCheckBox 宣告 checkbox , 後面再帶checkbox
就可以定義一個 checkBox ,
cb1 = QCheckBox('Python', self)
之後可以用 clicked.connect , 或是 stateChanged.connect , 來建立信號
當然最重要的是要知道 box 是否被enable 或disable
因為 clicked 或是 stateChanged 都會發出信號
可以使用 isChecked() 來判定是否被 check. 如果是 check return True
使用 .toggle() 則一開始就會被 check
下面是sample code
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QCheckBox
class Windows(QMainWindow):
def __init__(self):
super().__init__()
cb1 = QCheckBox('Python', self)
cb.move(20, 20)
cb2 = QCheckBox('C++', self)
cb2.move(20, 40)
self.cb3 = QCheckBox('Java', self)
self.cb3.move(20, 60)
self.cb3.toggle()
self.cb3.clicked.connect(self.cb3click)
self.setGeometry(50,50,320,200)
self.setWindowTitle("Checkbox Example")
self.show()
def cb3click(self):
if self.cb3.isChecked():
print("Java is selecsted")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Windows()
sys.exit(app.exec_())
當然實際應用會不會這們簡單, 之後再慢慢寫
訂閱:
文章 (Atom)
ChartGPT 學 python 很強喔
ChartGPT 最近很紅 , 前一陣子有一些小 module 本來想 google 一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔
-
按鈕(Buttons) 是 GUI 中很常用到的元件 按鈕的建置跟上一篇提到很相識, 但多了一個連動的概念以 PyQT 來說就是Signals and Slot (訊號與槽) 葉就是說當我按了一個 Button ( 發射一個訊號) 要執行哪個動作 (到哪個槽) ...
-
讀取 IP Cameras 的方法非常簡單 可以直接使用 Open CV package import cv2 # ip camera 的擷取路徑 URL = "rtsp://admin:admin@192.168.1.1/1" # 建立 V...
-
上一篇有介紹到 Qcalendar, 但並沒有使用 Class 來定義主視窗 , 這篇就來介紹如何使用 Class 定義主視窗, 其實 code 跟function 差不多 基本概念很間單, 我們先定義一個主視窗的 class . 這個class 繼承QWidget, 或...