2013-05-15 24 views
8

Ben pyqt için yeni biriyim - Şu anda bir grafiğin görsel temsili yapmak için kullanıyorum. Bunun için oldukça kolay olan özel bir widget yaptım. Ama şimdi yerleşik işlevselliği kullanmak zorunda kaldığımda takılıyorum.pyqt - bir textarea'ya nasıl mesaj yazılır - bir konsola yazdırma gibi -

ben kullanmaya çalıştı

() tür Eğer baskı ("blablabla" ile konsola yazdırmak ne olur gibi) benim uygulamaya bir 'bakış' eklemek ve buna metin yazdırmak için mümkün istiyorum PyQt aPI keşfetmek ne/nasıl ama .. Bu metin + başka bir şey şeklinde 41 sınıflarını içerir

http://pyqt.sourceforge.net/Docs/PyQt4/qtgui.html

ve ben birini kullanmak için HAYIR ipucu var adil olmak?

birisi hangisi beni işaret olabilir ve bundan İstiyorum amaç için nasıl kullanılacağı hakkında zamanınız varsa, o çok takdir ^^

cevap

21

en kolay yolu kullanmak olacaktır eğer öyleyse QTextEdit, muhtemelen yalnızca setReadOnly() aracılığıyla okunacak ve metninizi append() veya insertPlainText() yöntemiyle ekleyecektir.

Temel Snippet'ine:

... 
logOutput = QTextEdit(parent) 
logOutput.setReadOnly(True) 
logOutput.setLineWrapMode(QTextEdit.NoWrap) 

font = logOutput.font() 
font.setFamily("Courier") 
font.setPointSize(10) 

theLayout.addWidget(logOutput) 
... 

metin alanının sonuna keyfi renkte Metin eklemek üzere ve otomatik metin alanını kaydırmak için ben kabaca benzer bir kullanım durumda aşağıdaki gibi bir şey kullanılmış böylece yeni bir metin her zaman görünür olduğuna göre,

Otomatik Kaydırma Snippet'ine gibi bir şey kullanabilirsiniz:

... 
logOutput.moveCursor(QTextCursor.End) 
logOutput.setCurrentFont(font) 
logOutput.setTextColor(color) 

logOutput.insertPlainText(text) 

sb = logOutput.verticalScrollBar() 
sb.setValue(sb.maximum()) 
...