PyQt5 - Stellen Sie die Skin beim Drücken auf die bearbeitbare Combobox aus
In diesem Artikel werden wir sehen, wie wir Skin auf das bearbeitbare Kombinationsfeld setzen können, wenn es ausgeschaltet ist und wenn es gedrückt wird. Haut ist im Grunde das Hintergrundbild, aber die Haut passt ihre Größe entsprechend der Größe des Kombinationsfelds an. Der AUS-Status ist, wenn die Listenansicht (Elementansicht) nicht geöffnet ist. Die setEditable
Methode wird verwendet, um das Kombinationsfeld bearbeitbar zu machen. Skin wird nur angezeigt, wenn das Kombinationsfeld bearbeitet werden kann und der Status aktiviert ist und das Kombinationsfeld gedrückt wird
Dazu müssen wir den Stylesheet-Code des Kombinationsfelds ändern. Unten finden Sie den Stylesheet-Code
QComboBox :: editable :! On: gedrückt { Rahmenbild: URL (image.png); }}
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
,
200
,
80
)
self
.combo_box.setEditable(
True
)
geek_list
=
[
"Sayian"
,
"Super Sayian"
,
"Super Sayian 2"
,
"Super Sayian B"
]
self
.combo_box.addItems(geek_list)
self
.combo_box.setStyleSheet(
"QComboBox::editable:! on:pressed"
"{"
"border-image : url(image.png);"
"border : 1px solid black;"
"}"
)
App
=
QApplication(sys.argv)
window
=
Window()
window.show()
sys.exit(App.
exec
())
Ausgabe :