原创 QVector使用示例

本文以實例形式介紹QVector::insert()  QVector::remove() 函數的使用方法。 源代碼: #include "mainwindow.h" #include "ui_mainwindow.h" #includ

原创 GitHub push 失敗:"Permission denied(publickey) ... remote end hung up unexpectedly"解決辦法

今天在向GitHub上傳一個新的repository時發生問題,push命令失敗,錯誤是“Permission denied(publickey)...remote end hung up unexpectedly”。查閱了http://

原创 橫向墨卡託座標系

譯自http://wiki.gis.com/wiki/index.php/Transverse_Mercator_projection 橫向墨卡託投影由墨卡託投影改造而來。不論是橫向投影還是墨卡託投影,都是圓柱變換,且是保角變換。然而,在

原创 UDP通信實例(4) --組播模式下,利用SO_REUSEADDR實現兩個套接字佔用同一個端口

衆所周知,一個IP提供65536個端口。假如某個端口被一個套接字佔用,其他套接字就不能 再佔用這個端口了。但是根據https://blog.csdn.net/fz835304205/article/details/16980163/ 的描

原创 模板以及類的繼承

在最近的項目裏,我需要定義一個基類給同事使用。同事可以選擇直接使用我的類。他也可能會對這個類的某一個成員函數iOperation()的功能不滿意,於是可以選擇從這個基類派生新的類來使用。新類也有iOperation()函數,但是是由同事重

原创 對listen第二個參數的理解,及示例(windows版)

本文受了https://blog.csdn.net/yangbodong22011/article/details/60399728 的啓發 對tcp的三次握手,我也不太明白。但是闡述listen函數的第二個參數的意義,可以用一個簡單的例

原创 如何啓動和終止線程的思考

QT提供了QThread類來實現多線程編程。QThread::terminate()用來結束子線程。假如調用terminate()後,子線程不是立刻停止,程序員還可以調用QThread::wait()等待子線程結束,才進行後面的操作。在以

原创 UDP通信實例(3)--組播迴環

按照https://blog.csdn.net/lucky_greenegg/article/details/84938565 的說法,結合https://docs.microsoft.com/zh-cn/windows/desktop/

原创 UDP通信實例(2)--組播初探

UDP組播要注意兩點:1)組播收發兩端的端口號要一致;2)加入組播的套接字必須綁定IP地址 INADDR_ANY,而不是所在計算機的具體IP,否則會有問題。 下面給一個例子,是從https://www.cnblogs.com/jingli

原创 UDP通信實例(1)--不使用bind函數

前幾天處理一個關於UDP的項目,同一個程序裏要使用兩個UDP通信的套接字。我原計劃分別使用2個QT的QUDPSocket類,結果發現使用兩個QUDPSocket,造成其中一個QUDPSocket不能正常通信。所以只好用C++原生 的網絡通

原创 QT的自動滾動區QScrollArea的用法,圖文詳解

轉自 https://blog.csdn.net/qq_31073871/article/details/83117430 QScrollArea屬於控件容器類,可以直接在ui中拖出來。 對於QScrollArea,最難搞懂的就是:如何

原创 scanf使用時要注意的2點

scanf用來在命令輸入數據。數據可以是字符,整型,字符串等等。但是,1)假如在一個程序裏多次使用scanf,那麼每一次使用之後,要緊跟使用getchar()函數,否則後面的scanf會不正常;2)使用scanf時,要註明其輸入的數據類型

原创 MFC下利用setsockopt設置超時

tcp的recv函數默認是阻塞的,就是說,假如程序運行到了recv函數處,但是tcp沒有收到數據,則程序會卡在recv這裏,直到收到數據爲止。 一、看下面的例子: // tcp_setsockopt.cpp : Defines the

原创 安裝git 與 TortoiseGit

本文介紹在Win10系統上安裝Git 和 TortoiseGit,以達成對代碼的版本控制能力 本文參考了https://blog.csdn.net/renfufei/article/details/41647937 1 從https://

原创 ubuntu12.04 安裝 qt5.6.1

1 首先在ubuntu命令行輸入 uname -a,檢查操作系統版本。假如輸出帶有x86_64 字樣,說明操作系統是64位。 2 從qt官網下載 qt安裝文件 3 執行命令 sudo chmod +x qt-opensource-li