Hi,

I get strange behavior when I try to grab a pixmap from a widget. After one 
second, when the timer times, the app "flickers" and all buttons are gone.

When I then open the saved image, only lines and some colors appear. Did I 
miss something, or is it an PyQt anormaly ?

Thanks
-Marc
#!/usr/bin/env python

from qt import *
import sys

from client import form as Dialog

def snap():
    pix = QPixmap.grabWidget(d)
    pix.save("snap.bmp", "BMP")

try:
    x,y,w,h = sys.argv[1:5]
except ValueError:
    print "must be called './clientstart.py x y w h'"
    sys.exit(1)

x,y,w,h = int(x),int(y),int(w),int(h)


app = QApplication(sys.argv)
d = Dialog()
app.setMainWidget(d)
#d.setGeometry(x,y,w,h)
d.show()

t = QTimer()
QObject.connect(t , SIGNAL("timeout()"), snap)
t.start(1000, True)

app.exec_loop()
# Form implementation generated from reading ui file 'client.ui'
#
# Created: Don Okt 17 08:56:19 2002
#      by: The PyQt User Interface Compiler (pyuic)
#
# WARNING! All changes made in this file will be lost!


from qt import *


class form(QDialog):
    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
        QDialog.__init__(self,parent,name,modal,fl)

        if name == None:
            self.setName("form")

        self.resize(395,474)
        self.setCaption(self.trUtf8("KMail v0.0"))


        self.TextLabel1 = QLabel(self,"TextLabel1")
        self.TextLabel1.setGeometry(QRect(120,10,150,20))
        self.TextLabel1.setText(self.trUtf8("My brand new KMail v0.0"))

        self.TextLabel2 = QLabel(self,"TextLabel2")
        self.TextLabel2.setGeometry(QRect(10,60,130,20))
        self.TextLabel2.setText(self.trUtf8("Send Mail To"))

        self.LineEdit1 = QLineEdit(self,"LineEdit1")
        self.LineEdit1.setGeometry(QRect(130,51,251,30))

        self.LineEdit1_2 = QLineEdit(self,"LineEdit1_2")
        self.LineEdit1_2.setGeometry(QRect(130,90,251,30))

        self.TextLabel2_2 = QLabel(self,"TextLabel2_2")
        self.TextLabel2_2.setGeometry(QRect(10,99,100,20))
        self.TextLabel2_2.setText(self.trUtf8("Subject"))

        self.LineEdit3 = QLineEdit(self,"LineEdit3")
        self.LineEdit3.setGeometry(QRect(10,180,371,240))

        self.CheckBox1 = QCheckBox(self,"CheckBox1")
        self.CheckBox1.setGeometry(QRect(10,140,70,31))
        self.CheckBox1.setText(self.trUtf8("Encrypt"))

        self.CheckBox1_2_2 = QCheckBox(self,"CheckBox1_2_2")
        self.CheckBox1_2_2.setGeometry(QRect(170,140,80,31))
        self.CheckBox1_2_2.setText(self.trUtf8("format c:"))

        self.CheckBox1_2 = QCheckBox(self,"CheckBox1_2")
        self.CheckBox1_2.setGeometry(QRect(90,140,70,31))
        self.CheckBox1_2.setText(self.trUtf8("Dance"))

        self.CheckBox1_2_3 = QCheckBox(self,"CheckBox1_2_3")
        self.CheckBox1_2_3.setGeometry(QRect(250,140,130,31))
        self.CheckBox1_2_3.setText(self.trUtf8("punch the monkey"))

        self.PushButton4 = QPushButton(self,"PushButton4")
        self.PushButton4.setGeometry(QRect(10,430,101,31))
        self.PushButton4.setText(self.trUtf8("Send"))

        self.PushButton4_2 = QPushButton(self,"PushButton4_2")
        self.PushButton4_2.setGeometry(QRect(120,430,101,31))
        self.PushButton4_2.setText(self.trUtf8("Do Send"))

        self.PushButton4_2_2 = QPushButton(self,"PushButton4_2_2")
        self.PushButton4_2_2.setGeometry(QRect(230,430,150,31))
        self.PushButton4_2_2.setText(self.trUtf8("Really Send"))

Reply via email to