PyQt5 - Festlegen der Schriftart als Zeilenbearbeitungsfeldelement der nicht bearbeitbaren ComboBox
In diesem Artikel erfahren Sie, wie Sie die Größe und Schriftart des im bearbeitbaren Feld vorhandenen Elements ändern. Wenn wir eine setFont
Methode verwenden, die das QFont-Objekt als Argument verwendet, ändert die Verwendung mit dem Kontrollkästchenobjekt die Schriftart aller in der Liste vorhandenen Elemente.
Hinweis: Wenn wir das Zeilenbearbeitungsobjekt aus dem Kombinationsfeld abrufen, wird das Kombinationsfeld deaktiviert. Daher muss die Zeilenbearbeitung nicht bearbeitet werden
Gehen Sie wie folgt vor, um die Schriftart und Größe nur des Elements zu ändern, das sich im bearbeitbaren Feld befindet:
1. Erstellen Sie ein Kombinationsfeld.
2. Rufen Sie das Zeilenbearbeitungsobjekt (bearbeitbares Feld) aus dem Kombinationsfeld ab.
3. Ändern Sie die Schriftart der Zeilenbearbeitung mithilfe dersetFont
Methode.
4. Machen Sie die Zeilenbearbeitung nicht bearbeitbar (schreibgeschützt).
Unten ist die Implementierung -
from
PyQt5.QtWidgets
import
*
from
PyQt5
import
QtCore, QtGui
from
PyQt5.QtGui
import
*
from
PyQt5.QtCore
import
*
import
sys
class
Window(QMainWindow):
def
__init__(
self
):
super
().__init__()
self
.setWindowTitle(
"Python "
)
self
.setGeometry(
100
,
100
,
600
,
400
)
self
.UiComponents()
self
.show()
def
UiComponents(
self
):
self
.combo_box
=
QComboBox(
self
)
self
.combo_box.setGeometry(
200
,
150
,
150
,
30
)
geek_list
=
[
"Sayian"
,
"Super Sayian"
]
self
.combo_box.setEditable(
True
)
self
.combo_box.addItems(geek_list)
font
=
QFont(
'Times'
,
10
)
line_edit
=
self
.combo_box.lineEdit()
line_edit.setFont(font)
line_edit.setReadOnly(
True
)
App
=
QApplication(sys.argv)
window
=
Window()
sys.exit(App.
exec
())
Ausgabe :