Qt中通過點擊一個QPushButton來實現(xiàn)QTextEdit的PageUp/PageDown功能
也可通過判斷鍵盤操作, 來實現(xiàn)PageUp/PageDown
QT如何實現(xiàn)QSqltablemodel實時更新數(shù)據(jù)庫,并在tableview中實時顯示,
我的mysql中的數(shù)據(jù)會自動更新,就是不知道怎么讓它在qt中實時顯示出來 求解?在QT的widget中用tableview顯示sqlite數(shù)據(jù)庫表中的內(nèi)容。
假設(shè)有數(shù)據(jù)庫文件test.db,有表table(id integer, name nvarchar(20),age integer),且有數(shù)條數(shù)據(jù)。
首先用QTcreator創(chuàng)建一個基于Widget類的窗口,再拖一個tableview到widget中,保存,然后按照如下方法進行:
1.在widget.h中增添頭文件:QtSql/qsql.h、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
2.在.pro工程文件中添加:QT+=sql
3.在widget.cpp中widget的構(gòu)造函數(shù)中添加如下代碼:
QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if(!db.open())
{
//錯誤處理
}
static QSqlQueryModel *model = new QSqlQueryModel(ui->tableview);
model->setQuery(QString("select * from table"));
model->setHeaderData(0,Qt::Horizontal,QObject::tr("編號"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("年齡"));
ui->tableview->setModel(model);
db->close();
這樣之后,table表里的內(nèi)容就會顯示到tableview中了。
用以一個定時器QTimer,不斷的進行更新數(shù)據(jù)庫。
在qt creator中用ui設(shè)計器創(chuàng)建了一個QDialog的窗口,添加了一個QWidget部件,怎么能在Qwidget上用QPainter
在qt creator中用ui設(shè)計器創(chuàng)建了一個QDialog的窗口,添加了一個QWidget部件,怎么能在Qwidget上用QPainter?怎么能讓畫的圖形不出QWidget部件的范圍呢?請高手指點簡單點說,要在QWidget上使用QPainter,需要你定義一個繼承自QWidget的類,而你現(xiàn)在這么做也只是相當于在窗口中添加了一個QWidget,但這個窗體沒有實際的作用。
我寫個簡單的例子代碼,說明怎么用QPainter
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QPainter>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent *);
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
}
Widget::~Widget()
{
}
//重新實現(xiàn)paintEvent
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
//繪制一行文字
painter.drawText(this->rect(),Qt::AlignCenter,"this is my widget");
}
QtCreator配置交叉編譯工具鏈
環(huán)境:ubuntu16.04桌面環(huán)境。
說明:使用ubuntu16.04桌面環(huán)境,安裝QtCreator之后,再利用QtCreator開發(fā)QT5 GUI程序,如果編譯的程序要運行在arm linux嵌入式系統(tǒng)中,則必須配置交叉編譯工具鏈。
主要配置內(nèi)容:調(diào)試器、編譯器、QT版本。
1、打開工具,點擊選項。
2、選擇選項中的構(gòu)建與運行,概要界面。
3、構(gòu)建套件(kit)界面。
4、Qt Versions界面。
5、編譯器界面。
6、Debuggers界面。
7、Qbs界面。
8、交叉編譯例子:
相關(guān)推薦:
最高額保證法律依據(jù)(民法典后保證最高額擔保的規(guī)定)
中外合資經(jīng)營企業(yè)的資本(中外合資企業(yè)注冊資本金要求)
車輛抵押貸款(汽車抵押貸款需要什么條件)
國有企業(yè)設(shè)立的資料(國有企業(yè)注冊條件)
怎么注冊公司流程(公司注冊流程及需要的材料)