self.font = QFont("Arial")
...
self.text_edit = QTextEdit()
self.setCentralWidget(self.text_edit)
self.text_edit.setCurrentFont(self.font)
... ve Tam bir geri izleme. Bununla birlikte, PyQt-5.5 kullandığınızı varsayarak, sorunun olası nedeninde makul bir tahminde bulunmak mümkündür.
PyQt'nin önceki sürümlerinde, belirli işlenmemiş özel durumlar, yalnızca uygulamanın yürütülmesini kesintiye uğratmadan stderr'e yazdırılan bir iz bırakmaya neden olur. Ama bu normal bir python betiğinin nasıl davranacağı değildir. Bu nedenle davranış, PyQt-5.5'te düzeltilmiştir, çünkü uygulama, işlenmemiş bir istisna ile karşılaşıldığında derhal iptal edilecektir (bkz. PyQt5 belgelerinde Incompatibilities with Earlier Versions). "Bu yüzden uygulama değil
Traceback (most recent call last):
File "test.py", line 21, in aFont
self.text_edit.setCurrentFont(self.font)
TypeError: QTextEdit.setCurrentFont(QFont): argument 1 has unexpected type 'tuple'
Aborted (core dumped)
:
ben size uygulamayı çalıştırmak gördüğünüz bilmiyorum (ben Windows üzerinde farzederek söylüyorum), ancak Linux üzerinde bunu gördüm kilitlenme "- işlenmeyen özel durumla karşılaştığında iptal olur. özel hata bu hat kaynaklanır:
self.font = QFontDialog().getFont(previous_font)
getFont
çünkü döner (ok
bir boolean kullanıcının Tamam tıklandığında veya iptal olup olmadığını gösteren bir) tuple font, ok
. Yani sadece bu gibi görünmek hat değiştirmek gerekir.
self.font, ok = QFontDialog().getFont(previous_font)
Ya da biz sadece yazı gerekiyorsa - 'self.font = QFontDialog() getFont (previous_font) [0]' –