Software & Apps

Software und Apps sind aus unserem Alltag nicht mehr wegzudenken; von Musik- und Videobearbeitung, Antiviren-Tools, VPN-Clients bis hin zu Office und gewissen Alternativen - hier dreht sich alles um Software & Apps für Deinen PC.
67.135 Beiträge

Ask Me Anything: Blickwechsel

Du stellst die Fragen, ein außergewöhnlicher Nutzer antwortet! Begegne mit Deinen Fragen anderen Menschen hautnah und persönlich.
Python programmieren, Objektorientierte Programmierung in verschiedenen Dateien mit Klassen?

Hey,

ich lerne aktuell Python und habe angefangen einen Chatbot zu programmieren.
Nun will ich anfangen mir anzugewöhnen in verschiedenen Dateien mit Objektorientierter Programmierung zu programmieren bzw. das erstmal zu lernen.
Mein Gedanke in meinem Code ist z.B. eine Klasse WindowTemplate zu erstellen und diese als Blaupause ohne vorgegebene Werte zu definieren.
An Sich gelingt mir das auch aber ich habe Probleme von einer anderen Klasse aus einer anderen Datei darauf zuzugreifen und die Werte für wie zum Beispiel Größe oder Titel zu übergeben.
Ich würde mich freuen wenn hier mal jemand der etwas Erfahrung hat drauf schauen könnte und mich zumindest mal in die richtige Richtung leiten kann. :)
Viele Dank!

main.py

Fehlermeldung ist diese:

Traceback (most recent call last):

line 17, in <module>

  app = Main()

     ^^^^^^

line 9, in __init__

  self.main_window.set_size("1680", "900")

line 10, in set_size

  self.window_size.geometry(f"{width}x{height}")

  ^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'NoneType' object has no attribute 'geometry'

import view
import customtkinter as ctk


class Main(ctk.CTk):
    def __init__(self):
        super().__init__()
        self.main_window = view.WindowTemplate()
        self.main_window.set_size("1680", "900")
        self.main_window.set_title("YourTerminal")

    def my_mainloop(self):
        self.mainloop()


if __name__ == "__main__":
    app = Main()
    app.my_mainloop()

view.py

import customtkinter as ctk


class WindowTemplate:
    def __init__(self, window_size=None, window_title=None):
        self.window_size = window_size
        self.window_title = window_title

    def set_size(self, width, height):
        self.window_size.geometry(f"{width}x{height}")

    def set_title(self, title):
        self.window_title.title(title)

Ask Me Anything: Themenspecials

Im gutefrage Themenspecial beantworten Verbände, Organisationen und Personen des öffentlichen Lebens Deine Fragen zu aktuellen Themen.
Next.js Provider ohne meine ganze App Client Side zu machen?

Als Beispiel wenn ich Redux nutzen möchte muss ich es um einen Provider wickeln und ein YouTuber hatte es mal erklärt wieso daraus dann nicht alle Untergeordneten Components auch automatisch Client Side werden aber ich habe es nicht verstanden wieso das so ist. Was genau passiert da im Hintergrund.

/app/layout.tsx :

import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./assets/styles/globals/globals.scss";
import { StoreProvider } from "@/store/StoreProvider";

const inter = Inter({ subsets: ["latin"] });

export const metadata: Metadata = {
  title: "",
  description: "",
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <StoreProvider>
      <html lang="de">
        <head>
          <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
        </head>
        <body className={inter.className}>
          {children}
        </body>
      </html>
    </StoreProvider>
  );
}

/app/StoreProvider.tsx :

'use client';
import { store } from "./store";
import { Provider } from "react-redux";

export const StoreProvider = ({ children }
    : { children : React.ReactNode}) => {
    return <Provider store={store}>{children}</Provider>;
}

Denn normlerweise wenn ich "use client" in einer Contact.tsx benutze wird auch "ContactForm.tsx" automatisch use client.

Eigentlich sollte man ja nur einzelne Buttons use client machen wenn möglich damit Contact dennoch ohne JavaScript das erste mal gerendered wird für den Nutzer.

Bin gerade darauf gekommen weil ich das gleiche jetzt nochmal für einen Darkmode Provider mit TailwindCSS machen wollte wie im Video hier https://www.youtube.com/watch?v=7zqI4qMDdg8&ab_channel=DaveGray

Er sagt keine angst eure ganzen Server Components bleiben Server Components nur ich verstehe Sprachlich/Akustisch nicht was er da auf englisch genau meint obwohl ich gut englisch kann.