請問QPainter如何指定mainwindow底下如何使用wigdet

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

請問QPainter如何指定mainwindow底下如何使用wigdet

文章jjliao » 週三 5月 19, 2010 1:47 pm

最近看了一個範例
void mainwindow::paintEvent(QPaintEvent *)
{
QPainter painter(this); //创建QPainter一个对象
QPen pen;
pen.setColor(Qt::blue);//设置画笔为蓝色
painter.setPen(pen);
painter.drawRect(10,10,120,200);//绘制矩形

painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 12, Qt::DashDotLine, Qt::RoundCap));
painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
painter.drawEllipse(150,10, 400, 200);//绘制椭圆
}

我是想把這段程式化出來的圖形畫到mainwindow底下的wigdet (我是ui界面上拉了一個widget)
我知道QPainter painter(this)中的this是指mainwindow,我有事著修改成ui->widget
然後compile沒有錯誤,但是卻沒有顯示出來,請問為啥??

我剛初學Qt,目前有一些問題需要大家講解一下~
jjliao
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週三 5月 19, 2010 1:39 pm

Re: 請問QPainter如何指定mainwindow底下如何使用wigdet

文章kkebbc » 週二 6月 29, 2010 8:42 pm

void mainwindow::paintEvent(QPaintEvent *)
{
........
...
.....
}

你這段code應該寫在 widget裡面, 寫在MiaiWindow則表示畫在MainWindow, 而你又用widget擋在前面, 當然看不到
kkebbc
可愛的小學生
可愛的小學生
 
文章: 3
註冊時間: 週五 5月 14, 2010 10:03 pm


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客