Ich habe diese Datei aus dieser UI-Datei erstellen lassen.
Ich möchte sie optimieren.
Optimierungen:
Löschen Sie den Befehl „setObjectNames“.
Entfernen Sie def retranslateUI, stattdessen set der Text zur Objektinitialisierung. Verwenden Sie auch nicht die Übersetzungsmethode. Legen Sie den Text direkt ohne Übersetzung fest.
Legen Sie bei der Objektinitialisierung so viele Eigenschaften wie möglich fest. Wenn ein QLabel beispielsweise über übergeordnetes Element, Text und Ausrichtung verfügt, kann dies in einer Codezeile erfolgen.
Entfernen, wenn __name__=='__main__' : blockieren, da die Datei importiert wird.
Pyuic5-Kommentare am Anfang der Datei entfernen.
Was auch immer Sie denken Dadurch wird die Datei optimiert.
Da die Datei groß ist, möchte ich diesen Prozess automatisieren.Dieser Code:
def optimize_pyuic5_file(input_file, output_file):
try:
# Read the original file
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
setupUI_commands = []
retranslateUI_commands = []
in_setupUI = False
in_retranslateUI = False
# Parse the input file and categorize lines
for line in lines:
stripped = line.strip()
# Skip pyuic5 comments
if stripped.startswith("#") or stripped.startswith('"') or not stripped:
continue
# Handle setupUi
if "def setupUi(self, MainWindow):" in stripped:
in_setupUI = True
in_retranslateUI = False
continue
if "def retranslateUi(self, MainWindow):" in stripped:
in_retranslateUI = True
in_setupUI = False
continue
# Skip the main block
if 'import os' in stripped:
break
if in_setupUI:
setupUI_commands.append(stripped)
continue
if in_retranslateUI:
retranslateUI_commands.append(stripped)
continue
# Remove specific setupUi and retranslateUi commands
setupUI_commands = [
cmd for cmd in setupUI_commands
if not cmd.startswith(("self.setObjectName", "self.retranslateUi", "QtCore.QMetaObject.connectSlotsByName"))
]
retranslateUI_commands = [
cmd for cmd in retranslateUI_commands
if "_translate = QtCore.QCoreApplication.translate" not in cmd
]
retranslateUI_sorting_commands = [
cmd for cmd in retranslateUI_commands
if ('__sortingEnabled =' in cmd) or ('.setSortingEnabled(' in cmd)
]
retranslateUI_text_commands = [
cmd for cmd in retranslateUI_commands
if cmd not in retranslateUI_sorting_commands
]
retranslateUI_text_commands_final = []
counter = -1
for cmd in retranslateUI_text_commands:
counter += 1
if '=' in cmd:
widget = cmd.split(' = ')[1]
text = retranslateUI_text_commands[counter+1].split('item')[1]
text_parts = text.split('_translate(')
part_1 = text_parts[0]
real_text = text_parts[1].split('"')[3]
final_cmd = widget+part_1+'"'+real_text+'")'
else:
parts = cmd.split('_translate(')
part_1 = parts[0]
_text = parts[1].split('"')[3]
final_cmd = part_1 +'"'+_text+'")'
retranslateUI_text_commands_final.append(final_cmd)
'''
# Write the optimized content to the output file
with open(output_file, 'w', encoding='utf-8') as file:
file.write("\n".join(optimized_lines) + "\n")
print(f"Optimized file saved to {output_file}")
'''
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
optimize_pyuic5_file('input.py', 'output.py')
als guter Anfang. Bearbeiten: In retranslate_UI gibt es diese Methode zum Schreiben von Text in ein Objekt: [' setText“, „setWindowTitle“, „setStatusTip“, „setPlaceholderText“, „setTitle“, „setToolTip“, „setShortcut“, „setIconText“]
Ich habe diese Datei aus dieser UI-Datei erstellen lassen. Ich möchte sie optimieren. Optimierungen: [list] [*]Löschen Sie den Befehl „setObjectNames“.
[*]Entfernen Sie def retranslateUI, stattdessen set der Text zur Objektinitialisierung. Verwenden Sie auch nicht die Übersetzungsmethode. Legen Sie den Text direkt ohne Übersetzung fest.
[*]Legen Sie bei der Objektinitialisierung so viele Eigenschaften wie möglich fest. Wenn ein QLabel beispielsweise über übergeordnetes Element, Text und Ausrichtung verfügt, kann dies in einer Codezeile erfolgen.
[*]Entfernen, wenn __name__=='__main__' : blockieren, da die Datei importiert wird.
[*]Pyuic5-Kommentare am Anfang der Datei entfernen. [*]Was auch immer Sie denken Dadurch wird die Datei optimiert.
[/list] Da die Datei groß ist, möchte ich diesen Prozess automatisieren.Dieser Code: [code]def optimize_pyuic5_file(input_file, output_file): try: # Read the original file with open(input_file, 'r', encoding='utf-8') as file: lines = file.readlines()
# Parse the input file and categorize lines for line in lines: stripped = line.strip()
# Skip pyuic5 comments if stripped.startswith("#") or stripped.startswith('"') or not stripped: continue
# Handle setupUi if "def setupUi(self, MainWindow):" in stripped: in_setupUI = True in_retranslateUI = False continue
if "def retranslateUi(self, MainWindow):" in stripped: in_retranslateUI = True in_setupUI = False continue
# Skip the main block if 'import os' in stripped: break
if in_setupUI: setupUI_commands.append(stripped) continue
if in_retranslateUI: retranslateUI_commands.append(stripped) continue
# Remove specific setupUi and retranslateUi commands
setupUI_commands = [ cmd for cmd in setupUI_commands if not cmd.startswith(("self.setObjectName", "self.retranslateUi", "QtCore.QMetaObject.connectSlotsByName")) ] retranslateUI_commands = [ cmd for cmd in retranslateUI_commands if "_translate = QtCore.QCoreApplication.translate" not in cmd ]
retranslateUI_sorting_commands = [ cmd for cmd in retranslateUI_commands if ('__sortingEnabled =' in cmd) or ('.setSortingEnabled(' in cmd) ]
retranslateUI_text_commands = [ cmd for cmd in retranslateUI_commands if cmd not in retranslateUI_sorting_commands ]
retranslateUI_text_commands_final = []
counter = -1 for cmd in retranslateUI_text_commands: counter += 1 if '=' in cmd: widget = cmd.split(' = ')[1] text = retranslateUI_text_commands[counter+1].split('item')[1] text_parts = text.split('_translate(') part_1 = text_parts[0] real_text = text_parts[1].split('"')[3] final_cmd = widget+part_1+'"'+real_text+'")' else: parts = cmd.split('_translate(') part_1 = parts[0] _text = parts[1].split('"')[3] final_cmd = part_1 +'"'+_text+'")' retranslateUI_text_commands_final.append(final_cmd)
''' # Write the optimized content to the output file with open(output_file, 'w', encoding='utf-8') as file: file.write("\n".join(optimized_lines) + "\n")
print(f"Optimized file saved to {output_file}") '''
except Exception as e: print(f"An error occurred: {e}")
if __name__ == "__main__": optimize_pyuic5_file('input.py', 'output.py') [/code] als guter Anfang. [b]Bearbeiten:[/b] In retranslate_UI gibt es diese Methode zum Schreiben von Text in ein Objekt: [' setText“, „setWindowTitle“, „setStatusTip“, „setPlaceholderText“, „setTitle“, „setToolTip“, „setShortcut“, „setIconText“]
Ich habe auf der Website flipkart.com nach einem mobilen Produkt vom Typ „Asus Zenfone 5“ gesucht. Die Suche zeigt viele Produkte an. Ich habe das erste Produkt ausgewählt und in den Warenkorb...
Ich arbeite an einem Python-Skript, das prüft, ob eine gehashte Dokumentnummer mit einer Dokumentnummer in einer großen Liste von Datensätzen übereinstimmt, die in einer MySQL-Datenbank gespeichert...
Ich versuche, eine Lotterie zu simulieren, indem ich sechs Pseudozufallszahlen ziehe und dann weitere sechs Pseudozufallszahlen ziehe, bis ich mit dem ersten Satz übereinstimme (sie müssen nicht in...
Ich versuche, eine Lotterie zu simulieren, indem ich sechs Pseudozufallszahlen ziehe und dann weitere sechs Pseudozufallszahlen ziehe, bis ich mit dem ersten Satz übereinstimme (sie müssen nicht in...