原创 用線程鎖,解決python多線程的資源衝突

要解決的問題: 程序中可能存在多個線程要同時訪問一個資源,這在某些資源中是不允許的,需要保證同一時間段只有一個線程訪問資源。   解決的方案是: 用線程鎖(threading.Lock() ),在線程訪問共享資源時,把需要解決衝突資源加鎖

原创 多個路由器組成同一網段的局域網

要解決的問題:         目前家庭常用的家庭配置的路由器的WAN口動態IP獲取,然後LAN口也是自動設置的,並且是通過DHCP的功能自動分配給接入設備的。,而我們的電腦連接路由器的IP設置也是自動獲取的。         這樣子的話

原创 pyQt 樣式表在ui文件的設置

應用背景: 以python爲程序運行基礎,直接調用QT的ui文件形成界面。   要實現的功能: 同樣的功能在python裏面用程序是可以實現的,但在設計時不能直接觀察。如何用QT設計界面的樣式表,就可以很方便實現這個功能了。   詳細操作

原创 ROCKET3加密狗 外殼加密簡單使用

要解決的問題: 對軟件的EXE文件進行加密狗保存   解決方案: 使用ROCKET3加密狗的外殼加密,某寶上20幾塊錢,物美價廉。   具體操作: 插入加密狗,使用開發工具,Envelope.exe對exe文件進行加密,生成加密EXE文件

原创 python sqlite3多線程訪問的解決方案

要解決的問題: sqlite3只支持的單線程訪問,多個地方同時訪問數據庫造成datalock的報錯。數據庫在界面線程   解決方案: 1、對sqlite3採用訪問,用完即關閉,解決創建線程和打開線程不一致。 2、對sqlite3的訪問函數

原创 pythonnet調用C#的枚舉類型

       C#的枚舉變量 public enum PlcMemory         {             CIO = 1,             WR = 2,             DR = 3,            

原创 c#typeof 在pythonnet裏面如何轉

  C#裏的代碼: (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(m_pDeviceList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE

原创 三菱機器人MelfaRxM.OCX控件的python用法

1.   安裝控件  \MelfaRXM\MelfaRXM_Dev\Redist\Installer 2. 在WINDOWS/System32裏找到MelfaRxM.ocx 3.把OCX控件轉成C#的DLL a.打vs的開發人員命令行

原创 使用pythonnet找不DLL庫解決方案

第一種情況,用調試平臺(spyder)運行程序時,clr.AddReference('dll')時找不到 原因1:python版本與dll版對不上(32位,與64位的問題) 原因2: dll的搜索路徑不對,使用:sys.path.appe

原创 pthon 十六進制轉十進

eval("0xf") Out[5]: 15

原创 python OPENCV不能使用解決辦法

1.下載正確的python版本的OPENCV 2. 如果import cv2沒問題,報的是numpy庫的錯,更新numpy庫(在控制檯:pip install --upgrade numpy)   以上是使用平臺(anaconda,pyt

原创 python的類繼承

定義一個父類,然後定義一個子類,子類繼承了父類的所有屬性 如下: class Person(object):     name = "new"     age = 0      #    name2 = "" class Student(

原创 pythonnet創建系統數組

方法: import clr #導入C#pythonnet的庫 import System c=System.Array.CreateInstance(數據類型,長度) 例如: System.Array.CreateInstance(st

原创 C#控制檯簡單測試第三方DLL程序

作用:常用於測試第三方DLL,可以輸出信息到控制檯監控,代碼如下: 第三方IMVDLL庫代碼: namespace IMVdll {     public class CART     {       } } 測代碼: 在引用添加 DLL

原创 pythnet 非託管代碼調用細節處理

背景:有一DLL,C#的例程裏沒有用引用和using,而是直接用         [DllImport("FY4400.dll")]         public static extern IntPtr FY4400_OpenDevic