原创 Go語言版黑白棋(三):背景圖、最小化、關閉窗口

功能說明 設置一張背景圖,增加2個按鈕:最小化、關閉窗口。 glade界面設計 示例代碼 package main import ( "fmt" "os" "unsafe" "git

原创 Ubuntu Navicat 英文顯示亂碼解決方案

版本說明 Ubuntu版本: Navicat版本: Ubuntu Navicat 英文顯示亂碼 問題如下: 配置文件已經配置好,Ubuntu Navicat 英文顯示還是亂碼: 解決方案 打開Navicat,通過配置解決問題

原创 Go版GTK:常用控件—佈局

1 水平佈局 glade設計如下: 示例代碼: package main import ( "os" "github.com/mattn/go-gtk/gtk" ) func main() {

原创 Go語言版黑白棋(九):喫子

功能說明 增加喫子規則算法。 在一個空格新落下一個棋子,並且翻轉對手一個或多個棋子,落子必須要喫子。 原理說明 示例代碼 package main import ( "fmt" "os" "strco

原创 Go版GTK:常用事件—大小改變事件

當窗口初始化,被移動或拉伸時,會觸發大小改變事件。 事件標識: 事件標識 觸發條件 “configure_event” 窗口大小改變時觸發 示例代碼: package main import ( "fmt

原创 Go語言版黑白棋(四):界面其它設計

功能說明 界面上增加3個標籤,分別用於顯示黑白子棋子個數,還有一個用於顯示倒計時的時間。 還增加2個圖片控件,用於提示該誰落子(當前該黑子下,還是白子下)。 glade界面設計 示例代碼 package

原创 ROC曲線與AUC指標

ROC曲線 ROC曲線的動機 對於0,1兩類分類問題,一些分類器得到的結果往往不是0,1這樣的標籤,如神經網絡,得到諸如0.5,0.8這樣的分類結果。這時,我們人爲取一個閾值,比如0.4,那麼小於0.4的爲0類,大於等於0.4的爲

原创 Linux系統編程——多線程實現多任務

概述 每個進程都擁有自己的數據段、代碼段和堆棧段,這就造成進程在進行創建、切換、撤銷操作時,需要較大的系統開銷。爲了減少系統開銷,從進程中演化出了線程。爲了讓進程完成一定的工作,進程必須至少包含一個線程。線程存在於進程中,共享進程的資源。

原创 Go版GTK:常用控件—按鈕

按鈕在GUI裏應用最爲廣泛,我們幾乎能在所有的界面中看到按鈕。 glade設計如下: 按鈕的常用信號: 信號標識 觸發條件 “clicked” 按下按鈕時觸發 “pressed” 按下按鈕時觸發 “re

原创 Go版GTK:常用控件—對話框

glade設計如下: 示例代碼: package main import ( "fmt" "os" "github.com/mattn/go-gtk/gtk" ) func main() {

原创 Go版GTK:常用事件—鼠標事件

鼠標事件,可以理解爲操作鼠標的動作。對於窗口而言,用戶操作鼠標,窗口檢測到鼠標的操作( 產生一個信號 ),然後去做相應處理( 調用其規定的回調函數 ),即爲鼠標事件。 窗口默認不捕獲鼠標的操作,需要手動添加讓其捕獲: //

原创 Anaconda matplotlib中文亂碼解決

1. 下載字體 https://www.fontpalace.com/font-download/SimHei/ 2. 安裝字體 2.1 windows和mac下:雙擊安裝即可 2.2 如果其他可以把自己拷貝到指定目錄 先找到

原创 Go版GTK:常用事件—繪圖事件

GTK界面只要有圖片的地方,其底層實際上是通過繪圖實現的。繪圖實際上也是事件的一種,GTK中,繪圖事件也叫曝光事件。繪圖的操作需要放在事件回調函數裏。 1 繪圖觸發條件 繪圖時所觸發的信號:expose-event。只要觸發曝光事

原创 Go版GTK:常用事件—鍵盤事件

事件標識: 事件標識 觸發條件 “key-press-event” 鍵盤按下時觸發 “key-release-event” 鍵盤擡起時觸發 示例代碼: package main import ( "f

原创 Go版GTK:鼠標事件應用—窗口移動

創建窗口時,如果指定類型爲彈出類型,即爲無邊框窗口,這時候,無法通過邊框移動窗口,這時可以藉助鼠標點擊、移動事件實現窗口的移動。 座標說明: 移動座標說明: 示例代碼: package main import (