Problem QT zu TKinter

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
blaiiiz
User
Beiträge: 4
Registriert: Sonntag 5. Februar 2023, 13:13

Hi, unzwar habe ich das Problem dass mein GUI welches ich mit QT Designer erstellt habe deutlich kleiner in Python ist als das von TKInter.
Das Skript führe ich mit PyCharm aus.

Hier mal 2 Bilder damit ihr wisst was ich meine.
Was mache ich falsch bzw wo ist das Problem?

Bild
Bild
Benutzeravatar
Axel-WAK
User
Beiträge: 62
Registriert: Dienstag 29. November 2022, 11:52

Bilder posten ist keine gute Idee, man sieht deinen Code nicht wirklich.

Ein einfaches Beispiel das beide Fenster gleich groß sind.

Code: Alles auswählen

import tkinter as tk

root = tk.Tk()
root.title('Tkinter Window')
root.geometry("391x564+0+0")

root.mainloop()

from PyQt5.QtWidgets import (QMainWindow, QApplication)

class mainWin(QMainWindow):
    def __init__(self, parent = None):
        super(mainWin, self).__init__(parent)
        self.setupUI()
        
    def setupUI(self):
        self.setGeometry(0, 0, 391, 564)


if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = mainWin()
    win.setWindowTitle("PyQt5 Window")
    win.show()

    sys.exit(app.exec_())
OS: LMDE5 *** Homepage *** Github Seite
Benutzeravatar
sparrow
User
Beiträge: 4183
Registriert: Freitag 17. April 2009, 10:28

2 Toolkits in einem Prozess zu verwenden ist meiner Erfahrung nach keine gute Idee. Abgesehen davon, dass man beide Event-Loops laufen haben muss, kann das komische Nebeneffekte haben.

@blaiiiz: So sollte man die Designer-Dateien nicht verwenden. Es steht nicht umsonst oben im Kommentar, dass man die Datei nicht verändern soll. Statt Python-Code aus den .ui-Dateien zu erzeugen, verwenden die .ui-Dateien direkt. Such mal uic.loadUi(). Dann kommst du erst gar nicht auf die Idee darin etwas zu ändern.
Dein Layout ist offensichtlich kaputt. Dinge werden nur teilweise dargestelt. Es gilt für alle Tookits: Keine absoluten Positionen verwenden um Elemente zu platzieren. Stattdessen verwendet man Layout-Manager die sich um das korrekte anordnen der Elemente kümmern. Also als Grundelement Layouts (die können auch verschachtelt sein) und darin platziert die anzuzeigenden Elemente.
blaiiiz
User
Beiträge: 4
Registriert: Sonntag 5. Februar 2023, 13:13

Erstmal danke für die Antworten.
Habe den Fehler nun gefunden, lag nicht am Code sondern an der Auflösung meines Laptops. Warum auch immer bei TKinter das Fenster trotzdem groß war. QT ist damit irgendwie nicht klargekommen.
Benutzeravatar
__blackjack__
User
Beiträge: 13061
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@blaiiiz: Du hast den Fehler nicht gefunden, denn der liegt am Code. Du hast einen Hack gefunden der den Fehler jetzt bei Dir auf dem Rechner nicht mehr auffallen lässt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten