|
|
I don't think hide does anything beside scheduling an event, which may be not
even processed
When you are trying to capture.
I would either try to call
QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags =
QEventLoop::AllEvents )
after hide() or made capture_screen() a slot if it is not, moved show() there
and used
QTimer::singleShot(0, this, SLOT(_ ()));
to invoke capture. In this case you will have to move show() at the end of
capture_screen()
Hope this helps,
Alex
-----Original Message-----
From: qt-interest-bounces@xxxxxxxxxxxxx
[mailto:qt-interest-bounces@xxxxxxxxxxxxx] On Behalf Of pengliang(??)
Sent: Sunday, June 13, 2010 6:51 PM
To: qt-interest@xxxxxxxxxxxxx
Subject: [Qt-interest] 答复: capture screen
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@xxxxxxxxxxxxx
[mailto:qt-interest-bounces@xxxxxxxxxxxxx] 代表 Luis Lezcano Airaldi
发送时间: 2010年6月13日 0:16
收件人: qt-interest@xxxxxxxxxxxxx
主题: 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@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
---------------------------------------------------------------------------------------------------
Weidlinger Associates, Inc. made the following annotations.
“This message and any attachments are solely for the intended recipient and may
contain confidential or privileged information. If you are not the intended
recipient, any disclosure, copying, use, or distribution of the information
included in this message and any attachments is prohibited. If you have
received this communication in error, please notify us by reply e-mail and
immediately and permanently delete this message and any attachments. Thank you.”
“Please consider our environment before printing this email.”
_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
|
|