[Qt-interest] 答复: capture screen
pengliang(彭亮)
pengliang at founder.com
Mon Jun 14 03:51:05 CEST 2010
Hi Luis:
Thank you.
Hi Carsten:
Thanks for your advice.
I have modified them, but the problem still does exist.
-----------------------------------
if(setHideWnd == true) {
hide();
capture_screen();
show();
} else {
Capture_screen();
}
----------------------------------
void MainWindow::capture_screen()
{
QString picture_file= QString("%1/%2").arg(save_dir).arg("picture ");
QPixmap fullscreenmap;
fullscreenmap =QPixmap::grabWindow(QApplication::desktop()->winId());
fullscreenmap.save(picture_file,"JPG",-1);
}
-------------------------------------------
Whether I still made some mistakes?
-----邮件原件-----
发件人: qt-interest-bounces at trolltech.com [mailto:qt-interest-bounces at trolltech.com] 代表 Luis Lezcano Airaldi
发送时间: 2010年6月13日 0:16
收件人: qt-interest at trolltech.com
主题: Re: [Qt-interest] capture screen
El 12/06/10 07:31, Carsten Breuer escribió:
> Hi pengliang,
> hi all,
>
>
>> Please see the snippet bellow. (I want to minimizied the windows
>> and capture the screen, but application capture screen before the window
>> was fully minimized.) why? Can anybody tell me why? Or give me some ideas.
>>
> The code needs a lot of cleanup because if is unnecessary complicated.
> The function windowHideShow is almost useless.
>
> You have created some really funny things here:
>
> this-hide(); LOL
>
> You take the address of the widget and subtract the result of
> hide of it and throw the result away. Funny.
>
> I think you meant this->hide();
> You do the same here: while(this-isHidden())
>
> NEVER EVER use this inside a class without the need of
> doing so! The only reason to use this is to give another
> class a pointer to your instance.
> The use of this is a disease that occur since python programmers
> try to use C++ (in python you have to do it that way with self).
>
> Here some other points:
>
> 1. Why do you want to toggle isHideWnd. No need for that.
> You have two variables doing the same thing
> 2. You try to call functions twice! One time with this, the
> other time correct.
>
> Clean up the code first and REMOVE all the useless "this".
>
>
> Best Regards,
>
That's the problem when they use html in a mailing list. Your client
removed the ">" of this->hide() so you're not seeing it.
Back to the problem, what happens if you uncomment the line
qApp->proccessEvents()? I'm not sure, but that should minimize the
window and then you take the screenshot...
Regards.
_______________________________________________
Qt-interest mailing list
Qt-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list