[PyKDE] QProcess: more guidance needed

Tina Isaksen tina at bestemselv.com
Thu Mar 9 06:40:02 GMT 2006


I wrote:

> David Boddie wrote:
>
>> Have you tried sending "y\n" to the process's stdin, just as you would
>> type it in a console?
>>
>> David
>>  
>>
> Not sure I understand what you mean. In a console one types "y[enter]" 
> or "n[enter]"
> Actually only 'y' or 'Y' matters. Every other response causes apt-get 
> to abort.
>
> And that's the weird part because even if I send a y or an Y, it will 
> abort. I also tried to convert it to ascii numbers with no success. 
> But the simple fact that it aborts must mean that it in fact reads 
> that I send 'something' to stdin, right?

I gave up. I just could not get a QProcess write to a process stdin. So 
I made a 'dirty' workaround: I terminated apt-get after it ask it's 
question, then start a new apt-get process with the 'assume yes' option 
if the users answer is 'Yes'. Which brings me to my next question:

How can I call a Qdialog I have made in Qt3 designer and have it set a 
variable ('answer') in my main program? The Qdialog only has two buttons 
called pbUpgradeYes and pbUpgradeNo.


def readOutput(self):
        outputString = QString(self.upgradeProcess.readStdout())
        self.mainTextWindow.append(outputString)
       
        # Check if upgradeProcess ask to continue
        if outputString.endsWith("? "):
            qApp.processEvents()
           
            #### need to call QDialog 'confirmUpgrade' and have it set 
'answer' ####
           
            # Determine action to take
            if answer == "upgradeYes":
                self.upgradeProcess.tryTerminate()
                self.doCommitUpgrade()
               
            else:
                self.upgradeProcess.tryTerminate()
                self.mainTextWindow.append("User terminated")
           
            ouputString = " "

Thanks
Tina
-- 

Project: Tinapt
http://tinapt.berlios.de/
SVN repository:
http://svn.berlios.de/wsvn/tinapt/trunk/?rev=0&sc=0




More information about the PyQt mailing list