[Tutor] Fwd: RE: Thread output to GUI Text Field

Alan Gauld alan.gauld at btinternet.com
Tue Jan 12 04:44:53 EST 2016


Forwarding to list.
Please use Reply-All or Rely to List when responding to tutor messages.

You didn't mention earlier that you were using threads!
That significantly complicates matters.


-------- Forwarded Message --------
Subject: 	RE: [Tutor] Thread output to GUI Text Field
Date: 	Tue, 12 Jan 2016 08:52:42 +0000
From: 	Patrycja Niewosz <PNiewosz at slb.com>
To: 	Alan Gauld <alan.gauld at btinternet.com>



Hi Alan,

Thanks for a reply.
I have found that I need to use slots and signal to pass data between Threads and hence 


class Panel(QtGui.QWidget):
def __init__(self,master,parent=None):
.....
.....
self.initUI()


def initUI(self):
#Build layout
self.tcpControlMessages = QtGui.QPlainTextEdit()

def startThreadedProcess(self):
        self. tcpControlMessage.clear()
        self.thread.start()

@QtCore.Slot()
 def updateMessages(self, message):
        print message
        self. tcpControlMessages.appendPlainText(message)


Patrycja


-----Original Message-----
From: Tutor [mailto:tutor-bounces+pniewosz=slb.com at python.org] On Behalf Of Alan Gauld
Sent: Monday, January 11, 2016 6:37 PM
To: tutor at python.org
Subject: Re: [Tutor] Thread output to GUI Text Field

On 11/01/16 16:12, Patrycja Niewosz wrote:
> Hi All,
> 
> I use commands,
> 
>         server_address = ('134.32.45.9', 10000)
>         print ('starting up on port '% server_address)
>         sock.bind(server_address)
> 
> the message pop ups in the window command when I run full code, 
> however I would like to print this message in the main GUI, where I 
> have defined
> 
> tcpControlGrid.addWidget(QtGui.QLabel('TCP Server Messages'),3,0)
> tcpControlGrid.addWidget(self.tcpControlMessages,4,0)
> 
> self.tcpControlMessages = QtGui.QPlainTextEdit()
> 
> How can I transfer messages from above code directly to the GUI interface, so that I can see on main window.

Since this is obviously a PyQt issue you would be best asking on a Qt or SIDE forum. However most UIs have a Text control(*) that you can insert text into. So look for a method of your control called something like insert() or put() or maybe even write().

(*)I'm assuming your QtGui.QPlainTextEdit() is the Qt version.
What methods does it have?

--
Alan G
Author of the Learn to Program web site
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.alan-2Dg.me.uk_&d=CwICAg&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=VlCD52JbZNT0daOyAL7vAA&m=lMWz8Zwkrgc7CBzDOXEXkb8oTuIeuRsGgutRf32psIc&s=utKS1TTBmN6wmUJ4SnWJcRbNjIddYO09HyTV2cQUwj8&e=
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.amazon.com_author_alan-5Fgauld&d=CwICAg&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=VlCD52JbZNT0daOyAL7vAA&m=lMWz8Zwkrgc7CBzDOXEXkb8oTuIeuRsGgutRf32psIc&s=jXyzhQxcanJnO9e1u-yPXFqlRSgVfDu-CVVnYHsPrOM&e=
Follow my photo-blog on Flickr at:
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.flickr.com_photos_alangauldphotos&d=CwICAg&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=VlCD52JbZNT0daOyAL7vAA&m=lMWz8Zwkrgc7CBzDOXEXkb8oTuIeuRsGgutRf32psIc&s=zDdjUw8RFbWAtyLe1ywjgC40UayySD5H6fzQAlZN5N8&e= 


_______________________________________________
Tutor maillist  -  Tutor at python.org
To unsubscribe or change subscription options:
https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.python.org_mailman_listinfo_tutor&d=CwICAg&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=VlCD52JbZNT0daOyAL7vAA&m=lMWz8Zwkrgc7CBzDOXEXkb8oTuIeuRsGgutRf32psIc&s=afbUD2-GlmdFUE2rIbOMtKiOxKEZSqDi0Z85FSoldpM&e= 





More information about the Tutor mailing list