『壹』 QT在滑鼠點擊後繪圖怎麼實現
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
{
point1->setX(event->x());
point1->setY(event->y());
this->repaint();
}
}
void MainWindow::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawEllipse(point1->x(),point1->y(),15,15);
}
代碼寫的渣 不要見怪
『貳』 Qt如何全屏顯示圖片
可以設置全屏顯示應用,然後顯示一張圖定時器銷毀
『叄』 Qt 繪圖問題,急急急!
為了能夠使用Qt開發圖形繪制軟體,首先應該掌握Qt的坐標系統。在Qt中,通過QPainter類來控制它的坐標系統。連同QPaintDevice類與QPaintEngine類,QPainter類構成了Qt繪圖系統的基礎。其中,QPainter用於執行繪圖的操作;QPaintDevice是對一塊二維空間的抽象,在這塊空間上,我們可以使用QPainter進行圖形的繪制;QPaintEngine提供了在不同的設備上進行繪圖的介面。
QPaintDevice類是能夠進行繪圖的對象的基類,QWidget,QPixmap,QPicture,QImage,以及QPrinter類繼承了QPaintEngine類的繪圖能力。繪圖設備的預設坐標系統是以左上角作為原點,x坐標向右遞增,y坐標向下遞增。單位對於不同的設備是不同的,在基於像素的設備上,以一個像素作為預設單位,而在列印機上,以1/72英寸作為預設單位。
在編寫圖形繪制軟體時,我們需要進行邏輯坐標與物理坐標之間的轉換,這部分功能由QPainter的轉換矩陣,視口,以及窗口來實現。預設情況下,邏輯坐標與物理坐標是一致的。QPainter也支持平移與旋轉這樣的坐標變換。
圖元的尺寸(寬度與高度)總是對應於它的數學模型,並且會忽略它所使用的筆的寬度。下圖是通過兩個點來實現矩形和直線的例子,用到的代碼為:
『肆』 qt中如何實現點擊一個窗口的按鈕,另一個窗口開始畫圖 十萬火急
connect(button,SIGNAL(clicked()),this,SLOT(slotf()));
按鈕按下的時候 發射信號
然後另一個窗口事件接受信號
connect就好
『伍』 Qt里如何用數據畫圖
這問題不難吧!
在窗口中直接拖一個Graphics View控制項。然後在主函數中給這個控制項添加一塊畫布,在畫布上直接調用繪制矩形的函數,設置筆刷等等,就能畫出來了
『陸』 QT利用Qpainter怎麼在多個窗口中畫圖 一般只能在paintEvent函數中為主窗口繪圖 那怎麼樣在函數中
void drawTest(QWidget *wgt){
QPainter painter(wgt);
painter.fillRect(wgt->rect(),wgt->palette().color(QPalette::Window));
}
比如這樣?
『柒』 怎麼在QT主窗口的一個控制項裡面畫圖
3種方法:
//方法一:直接重寫主窗口的paintEvent事件,然後用QPainter繪制即可
QRectFrectangle(10.0,20.0,60.0,60.0);
intstartAngle=0*16;
intspanAngle=360*16;
QPainterpainter(this);
painter.drawArc(rectangle,startAngle,spanAngle);
//方法二:新建一個QWidget類,重寫paintEvent方法,同樣畫圓,然後將這個類添加進來
//或者是UI的話,提升控制項即可。
//代碼同方法一
//方法三:用背景圖片進行樣式設置。