The ultimate introduction to PySimpleGUI [ Creating apps in Python ]

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 149

  • @ClearCode
    @ClearCode  2 роки тому +20

    If you enjoy this video and want to support me you can join my Patreon or buy my Udemy course
    patreon.com/clearcode
    udemy.com/course/learn-python-by-making-games

    • @nigelpallatt
      @nigelpallatt Рік тому

      I got your Udemy course on Python. I feel bad that I only paid £14 but I'm a poor person, lol, thanks for the wonderful tutorials. really very good.

    • @nitinsansi8528
      @nitinsansi8528 Рік тому

      i will not pay for it

    • @patel_rohan1702
      @patel_rohan1702 Рік тому

      @@nitinsansi8528 good

    • @nitinsansi8528
      @nitinsansi8528 Рік тому

      @@patel_rohan1702 someone understands me

    • @nitinsansi8528
      @nitinsansi8528 Рік тому

      @@nigelpallatt L bozo

  • @LogicPhilosophy
    @LogicPhilosophy 2 роки тому +15

    Fun tutorial!
    1:08:20 To give the calculator a tiny little more functionality, under the if event == 'ENTER', you can add
    current_num = [] # empties the current number list
    current_num.append(str(result)) # appends the result / ans to the current num list

    • @xzex2609
      @xzex2609 Рік тому +3

      calculator has a lots of bug , I totally change the mechanisem ,, in your approach if someone press two operation you got problem, i design three fumction to solve all of it
      def button_press(num):
      global equation_text
      equation_text = equation_text + str(num)
      equation_label.set(equation_text) # window['-TEXT-].update(equation_text)
      pass
      def equals():
      global equation_text
      try:
      ttry:
      total = str(eval(equation_text))
      equation_label.set(total) ## window['-TEXT-].update(equation_text)
      equation_text = total

      equation_text = total

      except SyntaxError:
      equation_label.set("Syntax Is Invalid") #window['-TEXT-].update(equation_text)
      equation_text = ""

      except ZeroDivisionError:
      equation_label.set("Devided By Zero") #window['-TEXT-].update(equation_text)
      equation_text = ""




      def clear():
      global equation_text

      equation_label.set("")
      equation_text = ""

  • @nigelpallatt
    @nigelpallatt Рік тому +3

    I have just enrolled in your Udemy course, I truly can not understand how you can have such organisational ability in your teaching! Very impressive.

  • @pyalgoGPT
    @pyalgoGPT Рік тому +4

    Its high time to revisit this amazing series in the perspective of Flet ! Thank you !

  • @nigelpallatt
    @nigelpallatt Рік тому +9

    Fantastic, really excellent. I haven't had so much fun with a follow-along in years! Thank you!

  • @CreativeSteve69
    @CreativeSteve69 2 роки тому +29

    I've highly been enjoying your Udemy course lately. Been having lots of fun learning with it.

    • @nitinsansi8528
      @nitinsansi8528 Рік тому +1

      nerd

    • @rizla8602
      @rizla8602 Рік тому +1

      ​@@nitinsansi8528 😂

    • @benmaks
      @benmaks Рік тому +1

      @@nitinsansi8528 The hell are you doing here then?

  • @bluzenkk
    @bluzenkk 2 роки тому +1

    this is great. i combine this tutorial and another python Text to speech tutorial and made a TexT reader for myself. Great Thanks

  • @johndrippercodes
    @johndrippercodes 2 роки тому +1

    Your video is better than most others it should be on top wish UA-cam search was better so that I can filter out useless channels from my search

  • @ashutoshprasad7262
    @ashutoshprasad7262 2 роки тому +9

    Please be consistent you will grow because of your content. Thanks ☺️

  • @HulaHoopzz
    @HulaHoopzz 10 місяців тому

    This is amazing, I always wanted to have an option to create an option to create a Dynamic Theme changer event/button. Never found anything on the web, and it's pretty interesting and informative to see your approach!

  • @ghaliahmed
    @ghaliahmed 2 роки тому +1

    just thank you! .... YES, its' CLEAR CODE

  • @nihatalizade8228
    @nihatalizade8228 Рік тому

    It is very easy way to understand. Way better than my udemy course.

  • @mytech3833
    @mytech3833 Рік тому

    This is no doubt THE BEST tutorial for beginners! From Scratch WOW

  • @aslanmussayev5243
    @aslanmussayev5243 2 роки тому +1

    for the snake part if you do not want your snake to go opposite way you can use something like this:
    if event == "Left:37" and direction != DIRECTIONS["right"]:
    direction = DIRECTIONS["left"]

  • @Ehren1337
    @Ehren1337 2 роки тому +2

    i can already tell this will be great tutorial for my IQ. thanks!

  • @bernardseifert3034
    @bernardseifert3034 Рік тому +1

    In the text editor 1:48:04 u should add:
    if char_count == 0: word_count = 0
    so that when you have nothing in there it wount tell u that u have 1 word

  • @coreplay1184
    @coreplay1184 2 роки тому

    Best Teacher on Py... Please teach us Kivy

  • @jonateez
    @jonateez 2 роки тому +2

    At 33:07 I found it much easier to just use this:
    if event == 'button1' and values[0] == 'km to miles':
    input = int(values['input1'])
    window['outputText1'].update(input / 1.609 )
    and then use the asterisk operator to do the opposite

    • @erfer
      @erfer 2 роки тому

      definitely make 'km to miles' a variable like KM_TO_MILES. This means you can also make it a number which is a bit easier to check

  • @NachosElectric
    @NachosElectric Рік тому +3

    4:02:38 Google must have changed the layout of the weather page because all I'm getting when I print the name is 'Weather'. I downloaded your code from GitHub and it does the same thing (just displays 'Weather' where the city name should be). Any idea how to fix? I tried looking at the html for the page but it is a lot of code.

  • @jonateez
    @jonateez 2 роки тому +1

    Finally it's back!

  • @chetnajadwal1975
    @chetnajadwal1975 2 роки тому +2

    Great video, helpful very much. Keep uploading these informative videos.

  • @janskihumanski6894
    @janskihumanski6894 Рік тому +1

    Very nice video. You could add a little more code in the stop watch since at the moment the lap function does not really create "Lap Times". It just stores the current value for the overall elapsed time. For example if the first Lap is 2 seconds long the the second one is one second long this would show: Lap 1: 2; Lap 2: 3 instead of Lap 1: 2; Lap 2: 1

  • @harveybains146
    @harveybains146 10 місяців тому

    Great explanation of this nice GUI

  • @yuriyizbash2798
    @yuriyizbash2798 2 роки тому +1

    Interesting and helpful tutorial! As well as a perfect explanation! Thank you!

  • @ciscornBIG
    @ciscornBIG 2 роки тому +2

    If that is you right in the beginning, congrats on looking like Tom Cruise. Also, what an amazing resource. Going to tackle this after I finish your udemy course. Thank you for being my mentor!!!

  • @meshramab1
    @meshramab1 2 роки тому

    thanks for great and clear explaination.very helpful to understand the logic using PysimpleGUI.

  • @Themysterywatch
    @Themysterywatch 2 роки тому

    holy shit..u do actually live up to ur name dont u? that's definitely CLEAR code and CLEAR explanation!! very easy to understand

  • @piotrstepien1234
    @piotrstepien1234 2 роки тому +7

    GraphApp, this is not working: fig = matplotlib.figure.Figure(figsize = (5,4)). Had to use this instead (from pyplot): fig = plt.figure(figsize = (5,4)). I don't know if this is system related issue but "figure" is not an attribute of matplotlib... Just FYI :)

    • @marioespinosa5554
      @marioespinosa5554 Рік тому

      thanks

    • @benmaks
      @benmaks Рік тому

      Thanks for help, I looked through the comments looking if anyone else hit this issue.

    • @piotrstepien1234
      @piotrstepien1234 Рік тому

      @@benmaks you're welcome 😀

    • @ABHIYADAV-of4oc
      @ABHIYADAV-of4oc 8 місяців тому

      Or you can do this import matplotlib.pyplot as plt

  • @codewithrandy
    @codewithrandy 2 роки тому +1

    This is a great selection of python projects for beginners. Well done

  • @pinguuin
    @pinguuin Рік тому +1

    This is amazing!

  • @chunkymonkey2285
    @chunkymonkey2285 2 роки тому

    Great Video! I think you may have forgotten about the exit option for the text editor.

  • @gerryhoekema2561
    @gerryhoekema2561 Рік тому +2

    Enjoying this tutorial very much and learning a lot!
    However, when programming the graph.py progam, i get this error:
    AttributeError: module 'matplotlib' has no attribute 'figure'.
    Any ideas on a work-around? Thanks!

    • @APTAPTAPT22
      @APTAPTAPT22 10 місяців тому

      import matplotlib.figure
      will fix attribute error.

    • @ABHIYADAV-of4oc
      @ABHIYADAV-of4oc 8 місяців тому

      Just import matplotlib.pyplot as plt

  • @nerdhunt
    @nerdhunt Рік тому +3

    at 2:40:00 with the graph app, I get an error "AttributeError: module 'matplotlib' has no attribute 'figure'," my include is imported but all of the library has no such thing as figure, what do?

    • @mertre34
      @mertre34 Рік тому

      Same issue, been googling but getting nothing

    • @mertre34
      @mertre34 Рік тому +2

      Ok I just figured it out. I added 'import matplotlib.pyplot as plt at the top. But I was still apple to use fig = matplotlib.figure.Figure(fig size = (5,4)). I even commented out the import of pyplot and it stopped working but by just having that import line of code at the top helped...weird but it worked!

  • @MD-cu8tt
    @MD-cu8tt 2 місяці тому

    Thank you

  • @Smartroid
    @Smartroid 2 роки тому +1

    Love your vids! Thank uuu

  • @SmokezHerb
    @SmokezHerb Рік тому

    Great tutorial

  • @snile_memes9978
    @snile_memes9978 Рік тому +1

    HELP! I got error here (32:30) when i wrote "match" because i had python 9, but i need python 10 and more, i dowloaded new python and chose new interpreter in Visual Studio, but now i have error - No module named 'PySimpleGUI', i downloaded it and trying to update but i already did everything it, who knows what's the problem can be?

  • @ranjansanyal
    @ranjansanyal Рік тому

    I am trying to work on a table and backend it’s connected to the db. But after making the list empty, the table click event is always true and it’s throwing error, array out of index.

  • @keitayongz1578
    @keitayongz1578 2 роки тому

    for stopwatch part if you dont want to close and make new window you can try this:
    if event == 'Start':
    if active:
    # from active to stop
    active = False
    window['Start'].update('Reset')
    window['Lap'].update(visible = False)
    else:
    # from stop to reset
    if start_time > 0:
    window['TEXT'].update('Time')
    window['Start'].update('Reset')
    window['Start'].update('Start')
    start_time = 0
    # from start to active
    else:
    start_time = time()
    active = True
    window['Start'].update('Stop')
    window['Lap'].update(visible = True)
    if active:
    elapsed_time = round(time() - start_time,1)
    window['TEXT'].update(elapsed_time)

  • @adrien3278
    @adrien3278 Рік тому

    Nice video but what are your sublime text packages ?

  • @kjasghi
    @kjasghi 2 роки тому

    Love your voice.

  • @rademad1
    @rademad1 Рік тому

    Thanks a lot ,,,, Super nice and clear

  • @PySimpleGUI
    @PySimpleGUI 4 місяці тому

    Fantastic!

    • @ClearCode
      @ClearCode  4 місяці тому +1

      ohh thank you so much for making the module! :)

    • @PySimpleGUI
      @PySimpleGUI 4 місяці тому

      @@ClearCode ❤

  • @JMusicSelection
    @JMusicSelection 9 місяців тому

    1:47:00 In the Text Editor the word count is wrong when there are chain of white spaces or new rows. Use split() without arguments to fix it. Cheers!:
    clean_text = full_text.replace('
    ', ' ').split()
    if full_text == '':
    word_count=0
    else:
    word_count = len(clean_text)

  • @JokeyBoi
    @JokeyBoi 2 роки тому +4

    I must be wrong but just yesterday I was searching for this video and didn't find it. Might I ask why did you reupload this?

    • @ClearCode
      @ClearCode  2 роки тому +2

      made a community post about it!

  • @tunaburn2330
    @tunaburn2330 Рік тому

    Thank you!

  • @FrostbittenMage
    @FrostbittenMage Рік тому

    ah what a nice tutorial!
    wait what its 4 hours

  • @kpm25
    @kpm25 Рік тому +1

    I'm just researching to decide on which python gui to put effort into to get started with. You mentioned that PySimplegui is wrapped around others such as Tkinter and qt....... would it be more beneficial to learn those first?

    • @ClearCode
      @ClearCode  Рік тому +1

      If you just want to make guis and don't care about looks very much just go with PySimpleGui, it is by far the easiest to learn. I will release a long series on tkinter in a few weeks, that will cover much more sophisticated stuff.

  • @neeraj6197
    @neeraj6197 Рік тому

    Stop-watch part, time module is not working on my pycharm, with PySimpleGUI, what to do?

  • @EditorBrige
    @EditorBrige 2 роки тому +1

    Hai sir,can we change pySimpleGUI to .apk?

  • @noxzeuz
    @noxzeuz Рік тому +1

    "import PySimpleGUI as sg":
    my vscode defaulted py as the shortcut for PySimpleGUI

  • @Prithvikizhaka
    @Prithvikizhaka 3 місяці тому

    Hey why is the app pop up not coming up for me when i launch my code?

  • @chinnamraviteja1923
    @chinnamraviteja1923 2 роки тому

    How can I add a clickable hyperlink (url) or a button to my PySimpleGUI code

  • @bcho4274
    @bcho4274 2 роки тому

    1:23:10 Time out

  • @merseysideman
    @merseysideman 2 роки тому

    Thank you for your sharing.
    And could you please tell me: how to remove an element in sg.cloumn when window.read(timeout 10) is running?

  • @calindumbraveanu6114
    @calindumbraveanu6114 2 роки тому

    Thanks

  • @bernardseifert3034
    @bernardseifert3034 Рік тому

    1:52:58 you could just use:
    file = open(file_path,'r+')
    wn['-TEXTBOX-'].update(file.read())
    no need to import anything, is this not a good way to do it?

  • @SkyFly19853
    @SkyFly19853 2 роки тому +2

    I wish you can make a Chess game tutorial made in Python.

  • @יהונתןהרשקוביץ-מ9ב
    @יהונתןהרשקוביץ-מ9ב 2 роки тому +1

    I'm having problems with installing tkinter. I type in the cmd 'pip install PySimpleGUI' as instructed and when I try to import it, I get an error saying tkinter is not installed. I try pip installing tkinter and all I get is an error message. Any idea whats wrong?

    • @ClearCode
      @ClearCode  2 роки тому

      tkinter is usually installed when you install Python, not via pip. The easiest fix is probably to reinstall python and make sure you tick the box to install tkinter. Look for a checkbox that inlcudes tcl/tk

    • @יהונתןהרשקוביץ-מ9ב
      @יהונתןהרשקוביץ-מ9ב 2 роки тому

      @@ClearCode Okay. I'll try that. Thanks.

  • @sudhansugrahacharya7094
    @sudhansugrahacharya7094 Рік тому

    for the converter example, while running the code
    "match values['-UNITS-']:"
    it is throwing me an error, stating invalid syntax.

    • @ClearCode
      @ClearCode  Рік тому

      match only works with python 3.10 or greater. You probably have an older version.

    • @TheREALDocRabbit
      @TheREALDocRabbit Рік тому

      you can use an if elif else statement in place of the match to make it work,
      setting units = values['-UNITS-'] makes the if statement read like:
      if units == 'km to mile': ... elif units=='kg to pound': etc.

  • @oladayoadebiyi5166
    @oladayoadebiyi5166 2 роки тому +1

    Great video.
    At 33:59
    After the window['-OUTPUT-'].update(output_string)
    I got an error saying
    output_string is not defined.

    • @officialfarhad7033
      @officialfarhad7033 Рік тому

      I get the same error for some reason, did you manage to get it fixed?

    • @snile_memes9978
      @snile_memes9978 Рік тому

      @@officialfarhad7033 hey, i make all code in visual studio 2022 and it doesn't show any errors, but when i start my thing a got stupid error - No module named 'PySimpleGUI', it doesn't work when i make new environment for using python 3.11 because without it i can't use match...
      Do you know how to solve it? Because i've already updated and downloaded PySImpleGUI at all, and just get it

  • @xzex2609
    @xzex2609 Рік тому

    Add a line to the else: of converter to clear the -INPUT-
    window['-INPUT-'].update(' ')
    my contribution to the 1st app

  • @sudhansugrahacharya7094
    @sudhansugrahacharya7094 Рік тому

    hey, can we share the app with someone without displaying the code to them?

  • @Cake-bz5bf
    @Cake-bz5bf Рік тому +1

    Can't we make all of these with tkinter?

    • @ClearCode
      @ClearCode  Рік тому

      you can, pysimplegui is actually just a wrapper for tkinter

  • @goldcash5587
    @goldcash5587 Рік тому

    My Visual Studio code won't open the program window why is that??? Can someone help me please!?

  • @ribaaz
    @ribaaz 2 роки тому

    Hi! I don't know if you reply or not, but i have a question. I'm developing an app that will help me calculate the dimension of components, and i noticed that if i lay it down like the first demonstration and i put in negative numerical values it recognizes them as string values, not numerical values. I managed to work around it without implementing the numerical check but i want to have a safer insertion. Is there a workaround?

  • @mazenezez3262
    @mazenezez3262 2 роки тому

    1:37:36

  • @person_on_the_internet99lolxd

    I can start the GUI no problem but the theme_menu won't work for me. Can anyone help me? I use a MacBook Air M1

  • @SkyFly19853
    @SkyFly19853 2 роки тому

    Oh..
    Wow...
    ✅✅✅✅✅✅✅✅

  • @AntonioLopes-z5f
    @AntonioLopes-z5f Рік тому

    Sorry for my question, I am a very beginner, and I am not sure where I should start, is it a terminal window ? or a python window? or what ? I am looking forward to start it as soon as I now where I should start typing the code.

    • @GoatPengu
      @GoatPengu Рік тому

      Right, first I recommend learning a bit of python first from some online videos. Apps are not for a person who has no experience with a language.

  • @xzex2609
    @xzex2609 Рік тому

    the calculator has lots of bug i solve some of them but still i need to prevent two operation ( pop one item if full_operation[-2] in operations ) that needs to be done but the enter got to change to
    if event == 'Enter':
    full_operation.append(''.join(current_num))
    result = eval(' '.join(full_operation))
    window['-TEXT-'].update(result)
    current_num=[]
    current_num.append(str(result))
    print(full_operation)
    print(current_num)
    full_operation = []

  • @ZezoHD_
    @ZezoHD_ 2 роки тому +22

    This looks familiar... 🧐

  • @sidds09
    @sidds09 2 роки тому +1

    Thanks for this. what kind of project would you do to land a job as python dev? a project large and good enough to get noticed in CV. can you something like that. or can you suggest something.

  • @routereigrp50
    @routereigrp50 Рік тому

    Can you update the pastebin?

  • @karama5478
    @karama5478 2 роки тому +3

    Hi, can you teach pyqt5?

    • @johndrippercodes
      @johndrippercodes 2 роки тому

      What are you finding difficult? Qt designer is just drag and drop :) I have many projects using it :)

  • @Lostinthesnow
    @Lostinthesnow Рік тому

    spyder doesn`t like syntax "match values['-UNITS-']:" . Anyone having the same problem?

  • @ALMZ17
    @ALMZ17 6 місяців тому

    Stopwatch don’t work after pressing the reset button😢

  • @BestMomentsPro
    @BestMomentsPro 10 місяців тому

    It will be nice if not a huge size of output exe file

  • @BlazeYT_
    @BlazeYT_ 2 роки тому

    Hello, about 14:46, when I try to add
    while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
    break
    window.close()
    Python doesn't seem to understand window.read() and window.close()
    (I'm running on VSCode , Python 3.7 32bit windows 7. I'm broke here and I can't buy new Windows PC, even just celeron based. My country's food inflation is skyrocketing and I have to stick to this old laptop for longer)

  • @professional7646
    @professional7646 2 роки тому

    Did the videos get deleted, it says it was uploaded 11 hrs ago, but I remember this being uploaded a while ago.

    • @amber82872
      @amber82872 2 роки тому

      yeah you're right, just check his community post :D

  • @xzex2609
    @xzex2609 Рік тому

    for calculator I find lots of bugs i made three main function that UI can call them this approach I have not had a bug
    def button_press(num):
    global equation_text
    equation_text = equation_text + str(num)
    equation_label.set(equation_text)
    pass
    def equals():
    global equation_text
    try:
    total = str(eval(equation_text))
    equation_label.set(total)
    equation_text = total

    except SyntaxError:
    equation_label.set("Syntax Is Invalid")
    equation_text = ""

    except ZeroDivisionError:
    equation_label.set("Devided By Zero")
    equation_text = ""




    def clear():
    global equation_text

    equation_label.set("")
    equation_text = ""

  • @stickman-cartoon
    @stickman-cartoon Рік тому

    How to convert pygame code into apk

  • @bernardseifert3034
    @bernardseifert3034 3 місяці тому

    they reallly made pysimplegui register to use wasnt it open source?

    • @YARE_YAREsek1rof6n
      @YARE_YAREsek1rof6n 3 місяці тому

      It was, but it seems they have changed the license not so long ago. I wonder if it's worth just jumping straight into tkinter, there is even bigger tkinter tutorial on his channel

  • @divyanshusingh2013
    @divyanshusingh2013 Рік тому

    Please make open cv tutoriol

  • @MMMMMM-fn6cf
    @MMMMMM-fn6cf 2 роки тому

    2:02:10
    Snake game
    Does anyone know key codes for Mac OS? The codes in this video don't work to me.

    • @MMMMMM-fn6cf
      @MMMMMM-fn6cf 2 роки тому +1

      Finally I got it!
      You can check the key codes by putting `print(ord(event[0]))` in `while True`.
      The output for Left Arrow is 76 which is an integer.
      `if ord(event[0]) == 76: print('left')` works perfectly!
      I don't know why `if event == 'Left:76': print('left')` doesn't work though ;(

    • @liuliuliu3747
      @liuliuliu3747 Рік тому +1

      @@MMMMMM-fn6cf Thanks bro, saved me a lot of time, couldn't find anything online

  • @GuyKershtein
    @GuyKershtein 2 роки тому

    why does my "match" statement doesn't work?

    • @ClearCode
      @ClearCode  2 роки тому +1

      because your python version is too old. Uninstall and reinstall python with the latest one and you should be good.

    • @snile_memes9978
      @snile_memes9978 Рік тому

      @@ClearCode Hi, i downloaded python 3.11 and make for it environment in Visual Studio 2022, but i still get error - No module named 'PySimpleGUI', that's very strange because Visual Studio shows me that the project doesn't have any issues...

  • @brain-circuit3900
    @brain-circuit3900 2 роки тому

    I think this video was restricted by youtube for the project - youtube video downloader.

  • @suhasjaladi5098
    @suhasjaladi5098 2 роки тому

    How to export a game to exe

  • @yalndemirci5705
    @yalndemirci5705 Рік тому

    54:20

  • @Fullrusher
    @Fullrusher 2 роки тому

    I see what they were going for with pysimplegui but I think tkinter is simpler actually ... Am the only one that thinks so ?

  • @Sourcecodemastergoaheadcheater
    @Sourcecodemastergoaheadcheater 10 місяців тому

    Work all day and then i wake up work all day and then i wake up code all day😂

  • @omudugavu
    @omudugavu 10 місяців тому

    man can you teach us kivy

  • @Luca-gb1og
    @Luca-gb1og 2 роки тому

    Why did you reupload?

    • @ClearCode
      @ClearCode  2 роки тому

      made a community post about it!

    • @MariusHKz
      @MariusHKz 2 роки тому

      The other video had a downloader app made with PyTube. So, someone flagged the video and it was taken down. Now, the Ytube downloader app was replaced with a music player. I think that's what happened.

  • @neomaredi5922
    @neomaredi5922 Рік тому

    Output string is not defined is ruining my life. Who else is having this recurring problem. It’s infuriating. I’m using PyCharm and I think the way the modules are employed is different from Sublime. Tips

  • @monkeyfruit
    @monkeyfruit Рік тому +1

    I KEEP GETTING SO MUSCH FREAKING ADSS😡😡😡😡😡🤬🤬🤬🤬🤬😠😠😠😠😠😡

  • @ivanyosifov2629
    @ivanyosifov2629 2 роки тому +1

    Is that a reupload?

    • @ClearCode
      @ClearCode  2 роки тому

      made a community post about it!

  • @josbexerra8115
    @josbexerra8115 Рік тому

    Esperamos un tutor con Qt que es mas avanzado

  • @Adarsh8750
    @Adarsh8750 Рік тому

    Great tutorial