


Super komplett! Leitfaden zur Verwendung des grafischen Python-Schnittstellen-Frameworks PyQt5!
Gemeinsame GUI-Frameworks
- PyQt5: Qt ist eine plattformübergreifende C++-Bibliothek für grafische Benutzeroberflächen. QT war einst im Besitz von Nokia und wurde später an Digia Oyj, ein finnisches Softwareunternehmen, verkauft. PyQt5 ist eine Python-Schnittstelle, die auf Digias Qt5 basiert und aus einer Reihe von Python-Modulen besteht. PyQt5 selbst verfügt über mehr als 620 Klassen und 6000 Funktionen und Methoden. Kann auf mehreren Plattformen ausgeführt werden, darunter: Unix, Windows und Mac OS.
- Pyside6: Pyside ist das offiziell von QT Company bereitgestellte Python-Paket. Die vorherige Version war Pyside2, was QT5 entspricht. Die Benennungsregeln der neuesten Version wurden angepasst und in Pyside6 geändert, was der QT6-Version entspricht. Da das offizielle Produkt relativ vielversprechend ist, besteht der Nachteil darin, dass es erst spät veröffentlicht wurde und es im Internet nicht so viele Informationen wie zu PyQt5 gibt.
- Tkinter: Das integrierte GUI-Framework von Python, implementiert mit TCL. Bei der Verwendung müssen keine zusätzlichen Erweiterungspakete installiert werden. Es ist plattformübergreifend. Der Nachteil besteht darin, dass das UI-Layout vollständig im Code implementiert ist, nur 15 häufig verwendete Komponenten enthält und der Anzeigeeffekt rudimentär ist.
- PySimpleGUI: PySimpleGUI ist ein Wrapper für Tkinter. Die Implementierung einer benutzerdefinierten GUI mit PySimpleGUI erfordert viel weniger Code als das direkte Schreiben derselben GUI mit Tkinter.
- WxPython: wxPython ist eine Python-Sprachbindung für die beliebte plattformübergreifende GUI-Toolbibliothek wxWidgets. Es ist weit verbreitet, plattformübergreifend, in C++ geschrieben und verfügt über wenige Dokumente. Benutzer müssen möglicherweise einige Anpassungen am GUI-Code auf verschiedenen Plattformen basierend auf dem Programmierinhalt vornehmen. Es ist schwierig, Probleme zu lösen, wenn sie auftreten. Die Steuerung des Codelayouts ist nicht intuitiv.
- Wax: Basierend auf wxPython, einem Paket, das entwickelt wurde, um die Probleme von wxPython zu überwinden.
- Kivy: Hauptsächlich für Multitouch-Programme, Smartphones und Tablets usw. gedacht. Es kann auch auf Systemen ohne Touchscreen-Funktionen verwendet werden. Es unterstützt alle Plattformen (Windows, Linux, Mac OS X, Android und iOS). Beim Schreiben von Python und Cython ist die chinesische Unterstützung schlecht. Sie müssen die chinesische Bibliothek herunterladen und den Pfad selbst formulieren.
- BeeWare: Einmalig bereitstellen. Muss mit Kivy verwendet werden.
- Toga: Ein GUI-Toolkit zur Entwicklung nativer Apps mit Python. Toga besteht aus einer Basiskomponentenbibliothek mit gemeinsam genutzten Schnittstellen, um die plattformunabhängige GUI-Entwicklung zu vereinfachen. Toga ist für Mac OS, Windows, Linux (GTK) und mobile Plattformen wie Android und iOS verfügbar.
- Eel: Eine leichtgewichtige Python-Bibliothek zum Erstellen einfacher Offline-HTML/JS-GUI-Anwendungen, die Electron ähneln (jedoch leichter als diese), mit vollem Zugriff auf Python-Funktionen und Bibliotheksberechtigungen.
- Flexx: Ein reines Python-Toolkit zum Erstellen grafischer Schnittstellenanwendungen. Es nutzt Web-Technologie für das Interface-Rendering. Mit Flexx können Sie Desktop-Anwendungen erstellen und eine Anwendung auch in ein eigenständiges HTML-Dokument exportieren. Da Flexx in reinem Python entwickelt wurde, ist es plattformübergreifend. Zur Ausführung benötigen Sie lediglich Python und einen Browser.
- pywebview ist ein leichter plattformübergreifender Wrapper um die Webview-Komponente, der die Anzeige von HTML-Inhalten in einem eigenen nativen GUI-Fenster ermöglicht. Es ermöglicht Ihnen, Webtechnologien in Desktop-Anwendungen zu verwenden und gleichzeitig die Tatsache, dass ein Browser zum Erstellen der GUI verwendet wird, so weit wie möglich zu verbergen.
- enaml: Ein Python-Framework, mit dem Sie hochwertige GUI-Schnittstellen mit minimalem Aufwand implementieren können. Es ist auch eine einzigartige Programmiersprache. enaml kombiniert eine deklarative Sprache mit einem auf Einschränkungen basierenden Layoutsystem, sodass Benutzer problemlos flexible Layouts der Benutzeroberfläche definieren können. enaml-Anwendungen können auf jeder Plattform ausgeführt werden, die Python und Qt unterstützt.
Persönliche Gedanken: Es gibt zu viel zu lernen, also lernen Sie zuerst PyQt5, weil es viele Informationen gibt, und lernen Sie dann pyside6, wenn Sie genug Energie haben. Schauen Sie sich abschließend PySimpleGUI an, um zu sehen, ob Sie einige davon lösen können einfache Probleme.
Einführung in PyQt5
PyQt ist eine Python-Sprachimplementierung des Qt-Frameworks. Es wurde von Riverbank Computing entwickelt und ist eine der leistungsstärksten GUI-Bibliotheken. PyQt bietet eine gut gestaltete Sammlung von Fenstersteuerelementen. Jedes PyQt-Steuerelement entspricht einem Qt-Steuerelement. Daher ähnelt die API-Schnittstelle von PyQt der API-Schnittstelle von Qt, PyQt verwendet jedoch nicht mehr das QMake-System und das Q_OBJECT-Makro.
PyQt5 bietet Zertifikate für die GPL-Version und die kommerzielle Version. Wenn Sie PyQt für kommerzielle Anwendungen verwenden müssen, müssen Sie eine kommerzielle Lizenz erwerben.
PyQt5-Funktionen sind wie folgt:
- GUI-Steuerungssatz basierend auf Hochleistungs-Qt.
- Kann plattformübergreifend auf Linux-, Windows- und Mac OS-Systemen ausgeführt werden.
- Verwenden Sie Signal- und Slot-Mechanismus für die Kommunikation.
- Kapselt die Qt-Bibliothek vollständig.
- Sie können eine ausgereifte IDE für das Interface-Design verwenden und automatisch ausführbaren Python-Code generieren.
- Bietet einen vollständigen Satz von Fenstersteuerelementen.
- PyQt5 besteht aus einer Reihe von Python-Modulen mit mehr als 620 Klassen, 6000 Funktionen und Methoden. Die Hauptmodule sind wie folgt:
#🎜 🎜# QtCore: Enthält zentrale Nicht-GUI-Funktionen. Wird hauptsächlich mit Zeit, Dateien und Ordnern, verschiedenen Daten, Streams, URLs, MIME-Klassendateien, Prozessen und Threads verwendet.
pip install pyqt5
pip install pyqt5-tools
Nach dem Login kopieren
Zu den pyqt5-tools gehört das Drag-and-Drop-Schnittstellendesign von Qt Designer Werkzeug. Während des Installationsvorgangs kann der folgende Fehler gemeldet werden: pip install pyqt5 pip install pyqt5-tools
qt5-tools 5.15.2.1.2 has requirement click~=7.0, but you'll have click 8.0.1 which is incompatible.
pip install click~=7.0
- Das „Widget „auf der linken Box“ sind verschiedene Komponenten, die frei gezogen werden können Das „MainWindow – untitled“-Formular in der Mitte ist die Leinwand
- #🎜 🎜#
Im „Ressourcenbrowser“ unten rechts können Sie verschiedene Materialien wie Bilder, Hintergründe usw. hinzufügen. UI-Datei (im Wesentlichen eine Datei im XML-Format), die direkt verwendet oder über das Tool pyuic5 in eine .py-Datei konvertiert werden kann.
QtDisigner-Konfiguration
Öffnen Sie in Pycharm Datei – Einstellungen – Tools – Externe Tools, klicken Sie auf + Tool erstellen, die Konfiguration ist wie folgt: # 🎜🎜#
Name: QtDisigner Program : D:Program FilesPython36Libsite-packagesqt5_applicationsQtbindesigner.exe # 请根据实际修改 Working directory: $FileDir$
PyUIC-Konfiguration
PyUIC ersetzt hauptsächlich die von Qt Designer generierten .ui-Dateien durch .py-Dateien.
Öffnen Sie in Pycharm Datei – Einstellungen – Tools – Externe Tools, klicken Sie auf + Tool erstellen, die Konfiguration ist wie folgt: Name: PyUIC
Program : D:Program FilesPython36python.exe # 当前Python目录,请根据实际修改
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$
Nach dem Login kopieren
PyRCC-Konfiguration#🎜🎜 #
Name: PyUIC Program : D:Program FilesPython36python.exe # 当前Python目录,请根据实际修改 Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py Working directory: $FileDir$
PyRCC ersetzt hauptsächlich die geschriebenen .qrc-Ressourcendateien durch .py-Dateien. Öffnen Sie in Pycharm Datei – Einstellungen – Tools – Externe Tools, klicken Sie auf + Tool erstellen. Die Konfiguration lautet wie folgt:
Name: PyRCC Program: D:Program FilesPython36pyrcc5.exe # 当前rcc工具目录,请根据实际修改 Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py Working directory: $FileDir$
Erstellen Sie ein leere Schnittstelle:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
app = QApplication(sys.argv)
win = QMainWindow()
win.setGeometry(400, 400, 400, 300)
win.setWindowTitle("Pyqt5 Tutorial")
win.show()
sys.exit(app.exec_())
Nach dem Login kopieren
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel app = QApplication(sys.argv) win = QMainWindow() win.setGeometry(400, 400, 400, 300) win.setWindowTitle("Pyqt5 Tutorial") win.show() sys.exit(app.exec_())
Darunter:
- Qapplication():每个GUI都必须包含一个Qapplication,argv表示获取命令行参数,如果不用获取,则可以使用[]代替。
- QMainWindow():类似一个容器(窗口)用来包含按钮、文本、输入框等widgets。arg标识可以获取命令行执行时的参数。
- SetGeometry是用来定义 QMainWindow() 窗口的尺寸, 语法:setGeometry(x, y, width, height ),其中x,y为屏幕上的坐标点。
- show():用来显示窗口
- exit(app.exec_()):设置窗口一直运行指导使用关闭按钮进行关闭
PyQt5支持的常见Widgets有:
从上到下,从左到右依次为:Qlabel、QcomboBox、QcheckBox、QradioButton、QpushButton、QtableWidget、QlineEdit、Qslider、QProgressBar
对于使用Pyqt5设置文本内容,我们使用Qlabel:
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel app = QApplication(sys.argv) win = QMainWindow() win.setGeometry(400, 400, 400, 300) win.setWindowTitle("Pyqt5 Tutorial") # Label Text label = QLabel(win) label.resize(200, 100) label.setText("Hi this is Pyqt5") label.move(100, 100) win.show() sys.exit(app.exec_())
按钮与事件:
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton def click(): print("Hy Button is clicked!") app = QApplication(sys.argv) win = QMainWindow() win.setGeometry(400, 400, 400, 300) win.setWindowTitle("Pyqt5 Tutorial") # Button button = QPushButton(win) button.resize(200, 100) button.setText("Hi! Click Me") button.move(100, 100) button.clicked.connect(click) win.show() sys.exit(app.exec_())
button.clicked.connect() 在按钮点击后执行特定的事件。
PyQt5实战
实战项目:简易的天气查询软件
1、使用Qt Designer设计一个界面
用到的控件有Button, GroupBox, Label,ComboBox,TextEdit,同时定义了两个按钮queryBtn及clearBtn,分别用来查询及清空天气数据。我们需要绑定槽函数,方法如下:
- 在Qt Designer右下角选择 信号/槽编辑器,点击+号新增
- 分别选择queryBtn及clearBtn,选择信号 clicked(), 接收者 Dialog 及槽 accept(),(槽函数这里不知道如何定义,后期在代码里再进行修改)
以上完成后保存为Weather.ui文件。
2、转换.ui文件为.py文件
PyQt5支持直接使用.ui文件:
import sys from PyQt5 import QtWidgets, uic app = QtWidgets.QApplication(sys.argv) window = uic.loadUi("mainwindow.ui") window.show() app.exec()
但是为了更好的自定义及修改上面的槽函数,可以使用External Tools – PyUIC,即可生成Weather.py,实际运行命令如下:
D:Program FilesPython36python.exe -m PyQt5.uic.pyuic Weather.ui -o Weather.py
其中,我们需要把两个按钮绑定的槽函数:
# self.queryBtn.clicked.connect(Dialog.accept) # self.clearBtn.clicked.connect(Dialog.accept) # 修改为: self.queryBtn.clicked.connect(Dialog.queryWeather) self.clearBtn.clicked.connect(Dialog.clearText)
最终的Weather.py内容如下:
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'Weather.ui' # # Created by: PyQt5 UI code generator 5.15.4 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again.Do not edit this file unless you know what you are doing. from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(600, 600) self.groupBox = QtWidgets.QGroupBox(Dialog) self.groupBox.setGeometry(QtCore.QRect(30, 20, 551, 511)) self.groupBox.setObjectName("groupBox") self.label_2 = QtWidgets.QLabel(self.groupBox) self.label_2.setGeometry(QtCore.QRect(20, 30, 31, 16)) self.label_2.setObjectName("label_2") self.comboBox = QtWidgets.QComboBox(self.groupBox) self.comboBox.setGeometry(QtCore.QRect(70, 30, 87, 22)) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.textEdit = QtWidgets.QTextEdit(self.groupBox) self.textEdit.setGeometry(QtCore.QRect(20, 70, 491, 411)) self.textEdit.setObjectName("textEdit") self.queryBtn = QtWidgets.QPushButton(Dialog) self.queryBtn.setGeometry(QtCore.QRect(490, 560, 93, 28)) self.queryBtn.setObjectName("queryBtn") self.clearBtn = QtWidgets.QPushButton(Dialog) self.clearBtn.setGeometry(QtCore.QRect(30, 560, 93, 28)) self.clearBtn.setObjectName("clearBtn") self.retranslateUi(Dialog) self.clearBtn.clicked.connect(Dialog.clearText) self.queryBtn.clicked.connect(Dialog.queryWeather) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.groupBox.setTitle(_translate("Dialog", "城市天气预报")) self.label_2.setText(_translate("Dialog", "城市")) self.comboBox.setItemText(0, _translate("Dialog", "北京")) self.comboBox.setItemText(1, _translate("Dialog", "苏州")) self.comboBox.setItemText(2, _translate("Dialog", "上海")) self.queryBtn.setText(_translate("Dialog", "查询")) self.clearBtn.setText(_translate("Dialog", "清空"))
3、调用MainDialog
在MainDialog中调用界面类Ui_Dialog,然后在其中中添加查询天气的业务逻辑代码,这样就做到了界面显示和业务逻辑的分离。新增demo.py文件, 在MainDialog类中定义了两个槽函数queryWeather()和clearText(),以便在界面文件Weather.ui中定义的两个按钮(queryBtn 和clearBtn) 触发clicked 信号与这两个槽函数进行绑定。
完整代码如下:
import sys import Weather from PyQt5.QtWidgets import QApplication, QDialog import requests class MainDialog(QDialog): def __init__(self, parent=None): super(QDialog, self).__init__(parent) self.ui = Weather.Ui_Dialog() self.ui.setupUi(self) def queryWeather(self): cityName = self.ui.comboBox.currentText() cityCode = self.getCode(cityName) r = requests.get( "https://restapi.amap.com/v3/weather/weatherInfo?key=f4fd5b287b6d7d51a3c60fee24e42002&city={}".format( cityCode)) if r.status_code == 200: data = r.json()['lives'][0] weatherMsg = '城市:{}n天气:{}n温度:{}n风向:{}n风力:{}n湿度:{}n发布时间:{}n'.format( data['city'], data['weather'], data['temperature'], data['winddirection'], data['windpower'], data['humidity'], data['reporttime'], ) else: weatherMsg = '天气查询失败,请稍后再试!' self.ui.textEdit.setText(weatherMsg) def getCode(self, cityName): cityDict = {"北京": "110000", "苏州": "320500", "上海": "310000"} **return** cityDict.get(cityName, '101010100') def clearText(self): self.ui.textEdit.clear() if __name__ == '__main__': myapp = QApplication(sys.argv) myDlg = MainDialog() myDlg.show() sys.exit(myapp.exec_())
运行demo.py并执行查询后的效果:
4、将代码打包成exe文件
将.py文件打包成可执行的exe在Python中称为freezing,常用的工具有:PyInstaller, py2exe, cx_Freeze, bbfreze, py2app等。功能对比:
- py2exe:软件更新已经不活跃,因此也就略过。
- pyinstaller:明确支持win8、win10、理论上支持win7,,支持apple Macos, linux。pyinsaller可以打包成文件夹形式内含exe入口执行文件的形式,也可以是一个单独的exe文件。
- fbs:基于PyInstaller,使用起来更加方便
这里选择了fbs来打包。fbs的安装方法:
pip install fbs
使用方法,在命令行中输入:
fbs startproject
执行完成后需要输入一些APP的名称等。完成后会生成如下目录:
将刚才编写的PyQt5的代码(demo.py和Weather.py)拖到src/main/python文件夹下,删除原有的main.py,并将demo.py修改为main.py。然后打开 main.py,在文件头部添加如下代码:
from fbs_runtime.application_context.PyQt5 import ApplicationContext ``` 完成后执行: ``` fbs freeze ``` 即可实现打包。生成的exe可执行文件在targetMyApp文件下。
Das obige ist der detaillierte Inhalt vonSuper komplett! Leitfaden zur Verwendung des grafischen Python-Schnittstellen-Frameworks PyQt5!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.

MySQL kann ohne Netzwerkverbindungen für die grundlegende Datenspeicherung und -verwaltung ausgeführt werden. Für die Interaktion mit anderen Systemen, Remotezugriff oder Verwendung erweiterte Funktionen wie Replikation und Clustering ist jedoch eine Netzwerkverbindung erforderlich. Darüber hinaus sind Sicherheitsmaßnahmen (wie Firewalls), Leistungsoptimierung (Wählen Sie die richtige Netzwerkverbindung) und die Datensicherung für die Verbindung zum Internet von entscheidender Bedeutung.

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

MySQL Workbench kann eine Verbindung zu MariADB herstellen, vorausgesetzt, die Konfiguration ist korrekt. Wählen Sie zuerst "Mariadb" als Anschlusstyp. Stellen Sie in der Verbindungskonfiguration Host, Port, Benutzer, Kennwort und Datenbank korrekt ein. Überprüfen Sie beim Testen der Verbindung, ob der Mariadb -Dienst gestartet wird, ob der Benutzername und das Passwort korrekt sind, ob die Portnummer korrekt ist, ob die Firewall Verbindungen zulässt und ob die Datenbank vorhanden ist. Verwenden Sie in fortschrittlicher Verwendung die Verbindungspooling -Technologie, um die Leistung zu optimieren. Zu den häufigen Fehlern gehören unzureichende Berechtigungen, Probleme mit Netzwerkverbindung usw. Bei Debugging -Fehlern, sorgfältige Analyse von Fehlerinformationen und verwenden Sie Debugging -Tools. Optimierung der Netzwerkkonfiguration kann die Leistung verbessern
