Time of Update: 2018-12-05
目前做的項目中因為某些table中的資料是定時重新整理的,而且行數是不固定的。我以前做的每次都給new一個QTabelWidgetItem,結果每次都會申請記憶體。但是由於不能當次釋放,所以只能考慮在下次重新整理時刪除上次的分配的記憶體。可以用如下方法:每次獲得一個表的rowCount,然後遍曆,通過ui.tableWidget->item(i,j)返回一個指標類型的item,文檔裡說了,如果沒有設定item會返回0,所以我們就可以就行判斷了,if(item) 然後delete item;
Time of Update: 2018-12-05
在 Qt文檔中,術語“可重新進入”與“安全執行緒”被用來說明一個函數如何用於多線程程式。假如一個類的任何 函數在此類的多個不同的執行個體上,可以被多個線程同時調用,那麼這個類被稱為是“可重新進入”的。假如不同的線程作用在同一個執行個體上仍可以正常工作,那麼稱之為 “安全執行緒”的。大多數c++類天生就是可重新進入的,因為它們典型地僅僅引用成員資料。任何線程可以在類的一個執行個體上調用這樣的成員函數,只要沒有 別的線程在同一個執行個體上調用這個成員函數。舉例來講,下面的Counter
Time of Update: 2018-12-05
qt中將int、long型轉換成char、string char轉換成QString QString buf=QString(QLatin1String(char));//char 轉換為QStringQString 賦值為char str.toStdString().c_str() 例如char tockenID[60]; QString str=ui->lineEdit_getTokenID->text();
Time of Update: 2018-12-05
組件大小和字型設定 QPushButton quit("Quit"); quit.resize(75, 30); quit.setFont(QFont("Times", 18, QFont::Bold)); 函數QWidget::setGeometry()取四個參數:前兩個為按鈕左上方座標組應的x和y,此座標相對於父視窗組件;後兩個參數為按鈕的寬和高。結果是一個從座標(10,40)延伸至(190,80)的一個按鈕。 QWidget window;
Time of Update: 2018-12-05
常用的APT命令參數: apt-cache search package 搜尋包 apt-cache show package 擷取包的相關資訊,如說明、大小、版本等 sudo apt-get install package 安裝包 sudo apt-get install package - - reinstall 重新安裝包 sudo apt-get -f install 修複安裝"-f = ——fix-missing" sudo apt-get remove
Time of Update: 2018-12-05
如果指標是一個一個添加可以獲得其控制代碼的話,那麼就可以直接返回指標,但現在是用FOR迴圈添加,無法直接獲得,所以得考慮使用返回指標強制轉化。下面是代碼:#include "tabletest.h"#include <QtCore>#include <QCheckBox>#include <QMessageBox>tableTest::tableTest(QWidget *parent, Qt::WFlags flags):
Time of Update: 2018-12-05
啟動畫面(Splash Screens)啟動畫面(Splash
Time of Update: 2018-12-05
assert宏的原型定義在<assert.h>中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義:#include <assert.h>void assert( int expression );assert的作用是現計算運算式 expression ,如果其值為假(即為0),那麼它先向stderr列印一條出錯資訊,然後通過調用 abort 來終止程式運行。請看下面的程式清單badptr.c:#include <stdio.h>#include
Time of Update: 2018-12-05
Visual Assist X 最有用的快速鍵vax最有用的幾個快速鍵:1、Alt + G: 在定義與聲明之間互跳。2、Alt + O: 在.h與.cpp之間互跳。(O是字母O,不是數字零)3、Alt + Shift + Q:滑鼠定位到函數名上,若是在h檔案中,按此快速鍵會彈出右鍵菜單,裡面有個選項--建立定義;若是在cpp檔案中,則按此快速鍵會彈出右鍵菜單,裡面有一個選項--建立聲明。
Time of Update: 2018-12-05
以下的代碼都是用這些資料類型來讀取txt檔案中的內容。 QString QString類提供了一個Unicode文本和經典的C以零結尾的字元數組的抽象。 QString使用隱含共用,這使它非常有效率並且很容易使用。 所有的QString的方法都使用const char *參數,const char *被解釋為經典的C風格的以零結尾的ASCII字串。所以const char *參數為0是合法的。如果const char
Time of Update: 2018-12-05
QApplication::setStyle(QStyleFactory::create(tr("cleanlooks"))); The QStyle class is an abstract base class that encapsulates the look and feel of a GUI. QStyleFactory creates a QStyle object using the create() function and a key identifying the
Time of Update: 2018-12-05
QStatusBar* bar = ui->statusBar; //擷取狀態列//還有種寫法://statusBar()->addWidget(locationLabel);//statusBar()->addWidget(formulaLabel, 1);first_statusLabel = new
Time of Update: 2018-12-05
Qt4.4.3 在s3c2440平台的移植(EMBEDDED 7)1.解壓縮 tar zxf qt-embedded-linux-opensource-src-4.4.3.tar.gz cd qt-embedded-linux-opensource-src-4.4.32.編譯,使用系統預設的圖片庫,保留大部分常用功能,並加入tslib觸控螢幕校正的支援./configure / -prefix /new_disk/weiyan/qt/build/ /
Time of Update: 2018-12-05
QTimer *timerss =new QTimer(this); connect(timerss,SIGNAL(timeout()),this,SLOT(timerUpdate())); timerss->setSingleShot(true);//計時器迴圈此時true只迴圈一次,false無限迴圈 timerss->start(5000);//定時5秒 QTimer的構造方法如下所示:iTimer = new
Time of Update: 2018-12-05
QButtonGroup的簡單應用所有代碼都是在qt3.3.8+fedora8下啟動並執行。QButtonGroup用於統一管理一組QButton按鈕。理論上所有繼承自QButton的按鈕類都可以使用。這裡以QPushButton和QRadioButton為例示範。按鈕分組的作用主要用在項目選擇上,可以單選,也可以多選,根據屬性設定而定。標頭檔: <qbuttongroup.h>主要屬性和函數:int id:按鈕的標籤,可以用這個標籤來獲得或操作組裡的各個按鈕。bool
Time of Update: 2018-12-05
QT中的隨機函數的用法 首先是初始化:qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));接著就可以隨機了:qrand()理論上返回0 到 RAND_MAX間的值。如果要返回0~n間的值,則為:qrand()%n;如果要返回a~b間的值,則為:a + qrand() % (b - a)這裡介紹2種方法標頭檔都必須的,不多說了: #include<QTime>其中一個:函數中: QTime t; t=
Time of Update: 2018-12-05
一個QThread例子 //threadTest.h #ifndef THREADTEST_H #define THREADTEST_H#include <qthread.h> #include "test.h"class MyThread : public QThread { protected : virtual void run(); };MyThread myThread;void Test::newSlot() { myThread.start()
Time of Update: 2018-12-05
擷取iPhone使用者手機號使用下面的函數可以返回使用者的手機號: extern NSString *CTSettingCopyMyPhoneNumber(); 然後調用即可。 由於這個函數是包含在CoreTelephony中,所以只能用於非官方iPhone SDK。使用下面的函數可以返回使用者的手機號: extern NSString *CTSettingCopyMyPhoneNumber(); 然後調用即可。 由於這個函數是包含在CoreTelephony中,所以只能用於非官方iPhone
Time of Update: 2018-12-05
Qt: 多線程, 就是這麼簡單#include <iostream>#include <QApplication>#include <QThread>#include <QString>class Thread : public QThread {public: Thread(QString name = "") { stopped = false; this->name = name; }
Time of Update: 2018-12-05
Qt中各個widget前後位置的設定 收藏 這兩天在總結一些以往project中遇到的問題,正好別組有同事問我關於Qt中各個widget視窗的前後位置是如何定義的,這裡就總結一下: 在Qt中,所有問題都要一分為二,討論兩種不同的情況:一個是最常用的QWidget體系,而另外一個則是QGraphicsWidget體系。 ①:在常用的QWidget體系中,設定前後位置是主要是用raise(),underStack(),hide()函數。