Python tkinter Tutorial: Simple To Do List App

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

КОМЕНТАРІ • 201

  • @hugorocha8705
    @hugorocha8705 4 роки тому +5

    I really enjoyed this tutorial and would really like to see more GUI ideas using tkinter. Thanks

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому +1

      Thanks. I'm definitely open to suggestions!

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

    This is my first ever using python (dabbled in C++ and javascript in the past, but always got confused), this is amazing, thank you, so easy to follow and I have learnt a lot. I also added SHOWINFO (same way as showwarning, if anyone needs it) for the save, so a messagebox comes up letting me know it has saved

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

      Thanks! Glad it was helpful. Good job adding the save confirmation. Keep on codin'!

  • @planetsk6753
    @planetsk6753 3 роки тому +4

    Bruh Seriously Ur Soooo good I hv seen some other tutorials about a to do list and they are like So just write this billion lines then this under a second lol keep going all the best

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

    Great video. Easy to understand glad i found this tutorial
    Keep it up

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

      Thanks - glad you found it helpful. Keep on codin'!

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

    Hey great tutorial!!!
    You're a very good teacher! I love the way you explain everything by translating code into sentences.

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

      Thanks - glad you liked it! Keep on codin'!

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

    I added a button for clearing all items on the todo list, thank you for posting this tutorial! It was very helpful.... *Update I also added a button to include date time :)

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      Awesome - I always encourage my students to add their own ideas...it's fun and a great way to learn. Keep on codin'!

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

    This is my first project. I learned a lot. Thank you so much ❤

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

      You're welcome - glad to hear it. Keep on codin'!

  • @realnice3672
    @realnice3672 4 роки тому +1

    nice i made skeleton of GUI meaning frontend part but i had difficulty to figure out backend part like functions with tkinter.
    thank you i get load and save functions , scrollbar and warnings.

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

    Excellent tutorial, really helped me understand how to make an app with tkinter. Even managed to do the last try/except block before you showed how to do it :)

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      Thanks - glad it was helpful. Keep on codin'!

  • @filippians413
    @filippians413 3 роки тому +1

    As soon as you said "test it" (so that I wouldn't pay the price later) I ran my code and realized I entered a period after height=3 instead of a comma. If I had left it and tried testing much later it could have been very time consuming to debug.
    Lesson learned! LOL

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      I'm very happy to hear someone is taking that lesson to heart!

  • @Ezra-bt6oz
    @Ezra-bt6oz 4 роки тому +2

    Hey I like your videos! Im a beginner python learner!

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Thanks - welcome to my channel!

  • @MANISHAGUPTA-te3jl
    @MANISHAGUPTA-te3jl 3 роки тому +2

    Such easily and concisely explained!!

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

    Thanks! This really helped me! You have earned a new subscriber!

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

      Welcome to the team..keep on codin'!

  • @danieledeluca7593
    @danieledeluca7593 8 місяців тому +1

    Really nice and simple project, thanks for the explanation

    • @TokyoEdTech
      @TokyoEdTech  8 місяців тому +1

      You're quite welcome - keep on codin'!

  • @amritatwal7834
    @amritatwal7834 4 роки тому +1

    Thank you for this! I found it really helpful.

  • @Teo-dw3ti
    @Teo-dw3ti 4 роки тому +1

    Scrollbar with grid
    vsbar = Scrollbar(container, orient=VERTICAL, command=lista_tareas.yview)
    vsbar.grid(row=0, column=1, sticky=NS)
    lista_tareas.configure(yscrollcommand=vsbar.set)

  • @hooriaamin1702
    @hooriaamin1702 3 роки тому

    thats the best thing anyone can do to help me in this time thank you sir

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      You are quite welcome - keep on codin'!

  • @bereketseyum1246
    @bereketseyum1246 4 роки тому +3

    Nice tutorial it looks the second version of your to do list app👍

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Thanks. Yep, version 2. The old one was written in Python 2, this one is in Python 3.

    • @bereketseyum1246
      @bereketseyum1246 4 роки тому +1

      Your welcome

  • @Krutchhh
    @Krutchhh 3 роки тому

    thank you sir, i needs a beginer project with a walk through

  • @matusb6638
    @matusb6638 3 роки тому

    Excellent tutorial, simple and straight to the point :), thank you.

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      Thanks - glad you liked it. Keep on codin'!

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

    Good video, I learnt much!

  • @razorblack3287
    @razorblack3287 4 роки тому +1

    u r great teacher

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

    may I know, what algorithm are you using in this program? what are linked lists?

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

      Yups, Linked list or array ?

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

      @@yeobuustation It is just a simply list (array). A linked list is not necessary for this program.

  • @hooriaamin1702
    @hooriaamin1702 3 роки тому +1

    you are helping me alot

  • @SkyFly19853
    @SkyFly19853 4 роки тому +1

    I love those Python GUI tutorials...

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

    Very cool!!!

  • @kevinkevin1538
    @kevinkevin1538 3 роки тому

    Thank you on this. So helpful. Please help. I want to add show warning message box when the user wants to save tasks but the list box is currently empty. Is that possible?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      It should be if you use what is shown in this video.

  • @abhavjain9363
    @abhavjain9363 4 роки тому +1

    hey there just wanted to ask can we convert all this into a proper app that doesn't require the code to run. Maybe you could do a tutorial on that. If not possible no problem👍
    You are the best teacher by the way

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Try searching for pyfreeze or py2exe / py2app.

  • @Dark-rp3qr
    @Dark-rp3qr 4 роки тому +1

    just a suggestion: when you add a task, you made like this:
    def add_task():
    if task != "":
    But if you add some whitespaces it will still add the task.
    that's why it should look like this:
    def add_task():
    if task.strip() != "":
    So now even if you input multiple whitespaces, it won't add the task

  • @soumikchowdhury1707
    @soumikchowdhury1707 4 роки тому

    You explained well in simple way. Thanks for making this video . These types of video brings more curiosity about coding. how can I know more about all modules such as tkinter , pickles, etc? Where I can get all basics of tkinter etc ?

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      You're welcome. This is my go-to for tkinter info: effbot.org/tkinterbook/tkinter-index.htm

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

    Can we add images or background Image in tkinter module ?

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Yes. I don't know the exact code, but you should be able to find it in the docs.

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

      @@TokyoEdTech OK thanks

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

    thanks very much sir

  • @cocoarecords
    @cocoarecords 3 роки тому +1

    incredible channel

  • @meesiphht2769
    @meesiphht2769 3 роки тому

    Do you have a scheduler task related one that you have certain times for doing tasks and maybe operate a web site at the appointed time?
    or something like that?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      I don't have that, but it would be a nice addition to the program.

    • @urjitchakraborty5813
      @urjitchakraborty5813 3 роки тому

      im made an auto zoom program in python and i have a function that automatically join zooms at a specified time

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      @@urjitchakraborty5813 Cool!

  • @amenhale40
    @amenhale40 3 роки тому +1

    At def load_task when I write except it says invalid syntax?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      There is a link in the description labeled “NEED HELP?” Check that out and get back to me. Keep on codin’!

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

    just a question about the scrollbar, why do we really need it? i noticed that even without it, i can scroll on my touchpad using 2 fingers, and it works

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

      I'm pretty sure it is automatic - so if it is there you can ignore it.

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

    Thanks, it is really useful.

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

    how would you write at pytest for this program? I am trying to figure out scenarios to test possible problems, but I can't seem to figure out how to do, especially for the first fuction. any advise??

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

      Hmm...you'd probably need to check the list of tasks after each function call.

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

    Hey man! really appreciate your help by teaching us and helping the society.
    I have one question from this video - the variable "task" you defined in add_task function is a local variable right? then how are accessing "task" variable in load_task function? Are they different variable but same name ? sorry if i sound stupid.
    one more question - can you help me understand for using the line "for task in tasks" inside load_task function?
    :)

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

      Hiya - that's not a stupid question at all - it's a great question! I haven't looked at the code in a long time, but if you have for task in tasks, then that task is a local variable (part of the for loop in this case).

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

      @@TokyoEdTech hey man !
      Thanks for communicating with your audience ❤️
      I did some research and tried to educate myself now when i rewrote the code alone (not to brag lol) i understood the process.
      Really enjoy your videos. Waiting for your next video ☺️

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

      @@kingheisenberg674 You're welcome. Keep on codin'!

  • @matthewkempster3335
    @matthewkempster3335 4 роки тому

    If you can help me with this problem I am on a Mac and I can’t get the scroll wheel to move on scroll at so when I click and move my cursor down it doesn’t seem to go down

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Heya - check the link that says "NEED HELP?" and get back to me.

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

    Nice video

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

    thanks a lot for this video..............

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

      You are welcome - keep on codin'!

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

    Hi Where do you download your gif images ?

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      I usually use openclipart.org - but you'll have to convert the images to the right size and to .gif format yourself.

    • @keerthivarmanprakash3120
      @keerthivarmanprakash3120 4 роки тому +1

      @@TokyoEdTech Yeah, you can even use GIMP or www.piskelapp.com for online

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      I

    • @bereketseyum1246
      @bereketseyum1246 4 роки тому +1

      @@TokyoEdTech OK thanks

  • @Damme_King
    @Damme_King 4 роки тому +1

    Thank you 😊

  • @awesome_pi_guy
    @awesome_pi_guy 4 роки тому +1

    Do you have a Raspberry pi?
    Also do you have any tips for someone trying to make videos in the same area? Ive have been trying for sometime and am getting almost no views

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Hi. Sorry, I do not. But it is something I'd like to get into someday.
      It's really hard to get traction on UA-cam - takes lots and lots of time. It took me almost 2 years to get to 1000 subscribers, but I didn't release much during that time. I'm much more active now.
      I took a look at your channel. You need to update your landing page. Your channel name is awesome_pi_guy, but all I see is some Minecraft videos. Click the customize button and arrange your Pi videos at the top. Put the Minecraft videos in a separate section and add titles to them as well like you did to the PI videos. Finally, I'd make the head shot smaller so it takes up less of the screen and work on your lighting.
      Beyond that, keep making content...it's a loooong marathon, not a sprint.

    • @awesome_pi_guy
      @awesome_pi_guy 4 роки тому +1

      @@TokyoEdTech Thank you so much also i was thinking about putting my minecraft videos on a diffrent channel.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@awesome_pi_guy That's probably a good idea - you want to focus on your niche.

    • @awesome_pi_guy
      @awesome_pi_guy 4 роки тому +1

      @@TokyoEdTech Thank you for your time, keep doing what your doing and ill keep watching

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@awesome_pi_guy You're welcome - good luck with your channel!

  • @Jan-bo4bf
    @Jan-bo4bf 4 роки тому

    Next video idea! Make a part 2 to this, but include a database, so the program can be closed, and the tasks still stay.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Watch the video - it has saving and loading of data.

    • @Jan-bo4bf
      @Jan-bo4bf 4 роки тому +1

      @@TokyoEdTech I know, but I mean like a proper database using SQL.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@Jan-bo4bf Why? A database is overkill for a simple app like this. Gotta use the right to for the job.

    • @Jan-bo4bf
      @Jan-bo4bf 4 роки тому +1

      @@TokyoEdTech I think it would be a neat way to show people how to work with them. This program obviously doesn't need it.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@Jan-bo4bf I see - that makes perfect sense. Thanks for the suggestion!

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

    If listbox_task is emtpy how to not save it ?

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

      I find solution :D
      def save_tasks():
      tasks = listbox_tasks.get(0, listbox_tasks.size())
      check_is_empty = listbox_tasks.size()
      if check_is_empty != 0:
      pickle.dump(tasks, open("tasks.dat", "wb"))
      else:
      tkinter.messagebox.showwarning(title='Warning', message='There is noting to save')

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

      Try something like:
      if len(tasks)!=0:
      # Save

  • @swastiksarkar
    @swastiksarkar 4 роки тому

    Can you help me understand this?
    I have been creating widgets like this.
    label1 = Label(root)
    What is this actually?
    label1= tkinter.Label(root)
    Will both yield the same type of label? If not what is the meaning of writing the label code as tkinter.label rather than only 'Label'?
    Also the same in
    root= tkinter.Tk() and
    root =Tk()
    What is the difference?

    • @Teo-dw3ti
      @Teo-dw3ti 4 роки тому +2

      I dont speak english good but his the traduction:
      The difference is that with the first form as used in the video you are importing so:
      import tkinter
      only in the second way that it is without tkinter you need to import like this:
      from tkinter import * ( or the module you want for example messagebox)
      I hope you understood me
      Español:
      La diferencia es que con el primera forma como usa en el video estas importando así:
      import tkinter
      solo que de la segunda forma que esta sin tkinter necesitas importar así:
      from tkinter import * ( o el modulo que quieras por ejemplo messagebox)
      espero que me hayas entendido

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

      I think Mateo explained it quite well!

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@Teo-dw3ti Gracias!

    • @swastiksarkar
      @swastiksarkar 4 роки тому

      @@TokyoEdTech I have a question
      'wb' basically rewwrites the old tasks with new ones and and all old tasks gets deleted. Is there way to append the new tasks to the old ones?

  • @kareensingh3914
    @kareensingh3914 4 роки тому

    This Helped Me a Lot, One question - will you be making more games in python. GREAT TUTORIAL

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Glad to hear it! Yep, I'll be doing more eventually - stay tuned!

    • @kareensingh3914
      @kareensingh3914 4 роки тому

      @@TokyoEdTech Thank you, excited for more.

  • @naokimc
    @naokimc 3 роки тому

    I'm using python idle to create this, eventually, when I load my tasks, it always shows the Tkinter popup that I created. Should I create a file called tasks.dat on my desktop?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      I'm not sure what you mean - the file will be created in the same folder as your .py file, or you can specify with the full path.

  • @ruchi727
    @ruchi727 4 роки тому

    are you going to make any of the ultimate python turtle graphics turtorials???

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      I'm planning to add more videos to that - not sure the timing though - sorry.

    • @ruchi727
      @ruchi727 4 роки тому +1

      @@TokyoEdTech thanks for letting me know, i thought you stopped
      making video's on ultimate python turtle graphics !!

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@ruchi727 You're welcome. Yeah - I just wanted to try a few other things that had a more immediate application for me.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@ruchi727 You're welcome. The more recent projects I've been doing are useful for my current students so I'm prioritizing them.

  • @senseme7627
    @senseme7627 3 роки тому

    I would like to add slide feature to this app, like press hold slide and put the task above another also I would like to delete the tasks putting a delete button over the task. How would you do that? Can you guide me?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      I don't think tkinter is that advanced to allow dragging if items in a listbox. Check the documentation to be sure.

    • @senseme7627
      @senseme7627 3 роки тому

      @@TokyoEdTech Thanks, I am not familiar with Python how can I achieve what I want? And do you think this would make a good enough portfolio project for a new grad?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      I'm not sure on either point. You could try a different GUI library such as QT. A portfolio should be your own work, not something copied from the Internet.

    • @senseme7627
      @senseme7627 3 роки тому

      @@TokyoEdTech I will code the app myself for sure but I meant is it too simple or will it look good on resume anyways?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      I do this with high school students so it might be a bit simple. You can build on it though and add features.

  • @MartinAnsoAndCo
    @MartinAnsoAndCo 3 роки тому

    can this be put on a phone that does not have python?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      No, sorry. You'd have to use something like Kivy if you want to use Python.

  • @soroushbolbolabadi9305
    @soroushbolbolabadi9305 3 роки тому

    thank you for your useful Tutorial , but your program has a bug and please tell me how can i fix this bug .
    when we saved the tasks and restart the program, our data is repeated many times.
    sorry for my poor english

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      It's working fine on my computer - perhaps you copied the code incorrectly?

    • @soroushbolbolabadi9305
      @soroushbolbolabadi9305 3 роки тому

      @@TokyoEdTech yeah my bad

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому

      @@soroushbolbolabadi9305 Next time you think "your program has a bug", please check thoroughly. It'll help you become a better coder and save us both some time. Keep on codin'!

  • @aditgaur1585
    @aditgaur1585 4 роки тому +1

    Can you make a tutorial on making a text editor with tkinter?

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      I don't know a huge amount about that - making a simple text editor is really easy; however, color coding and syntax highlighting are not as easy.

    • @aditgaur1585
      @aditgaur1585 4 роки тому

      Maybe like windows notepad?

    • @aditgaur1585
      @aditgaur1585 4 роки тому

      I am not saying to make the next vs code, i am saying to make a simple application where you can save stuff and open stuff

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      @@aditgaur1585 This will get you started: www.tutorialspoint.com/python/tk_text.htm

    • @aditgaur1585
      @aditgaur1585 4 роки тому +1

      Thank you so much!

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

    I was wondering if I could potentially use this as a side project for my resume, or if it would be considered plagiarism. If not that is completely fine, am just wondering

    • @TokyoEdTech
      @TokyoEdTech  2 роки тому +5

      I personally, don't care. But if something is on your resume, it should reflect what you can do, not what I can do. I would take the concepts learned and make your own program. Or at least add features to the base program to show what you can do.

  • @mhm6
    @mhm6 3 роки тому

    when you first open the todolist python program, the listbox will be empty by default. If you accidentally click the save button during this time, then you will save a blank listbox and override your previously stored errands. Is there a way around this or do you just need to be careful when pressing the save button at the beginning of the program (when the listbox is empty before you add or load errands)?

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      You could add something like this:
      if len(tasks)! =0:
      # Save data

    • @mhm6
      @mhm6 3 роки тому

      @@TokyoEdTech so simple i dont know why i couldn't think of that. thank you, sir!

    • @TokyoEdTech
      @TokyoEdTech  3 роки тому +1

      You are welcome - keep on codin'!

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

    When I tried to ran it it show me this error , but the virable 'tasks' didn't reference before line 24
    File "C:\.......\Python\To-Do_list.py", line 24, in load_tasks
    tasks = pickle.load(open(tasks.det, 'rb'))
    UnboundLocalError: local variable 'tasks' referenced before assignment
    pls help

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

      Heya, can you paste all of your code here so I can take a look?

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

      So, I fixed it by replacing the virebles;)

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

      @@IntergalacticPotato1 Success!

  • @shinystick241
    @shinystick241 4 роки тому +3

    First heart it!!

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

    I am not able to save tasks with pickle.dump
    AttributeError: 'function' object has no attribute 'dump' ⬅ it is showing this line

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

      Can you share all of your code and I'll take a look.

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

      @@TokyoEdTech I saw the same comment you replied to it but I am getting some error with it when I open the .txt file it's like question marks in rhombus shape then the text.

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

      @@krishnataneja5181 Yes, that is what pickle does.

  • @Teo-dw3ti
    @Teo-dw3ti 4 роки тому +1

    Hola puedes enseñarnos a usar sqlite3?
    No se si me entiendas pero eres mejor

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      I haven't used it much, but would like to give it a shot someday. For this app, it is really too much though.

    • @Teo-dw3ti
      @Teo-dw3ti 4 роки тому

      @@TokyoEdTech Thanks

  • @himanshushukla6451
    @himanshushukla6451 4 роки тому

    hey there's only 480p

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

    cool

  • @ashwins4776
    @ashwins4776 4 роки тому

    Please suggest me a good UA-cam channel (like your's) to learn javascript......

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Sorry, I can't say for sure - but do some searching as there are tons out there.

    • @awesome_pi_guy
      @awesome_pi_guy 4 роки тому +1

      Hi, I don't know any channels about javascript. But khanacdamy.org has a free course on it.

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Thanks!

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

    load task and save task doesn't work

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

      Is there an error message? Can you share the code?

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

      @@TokyoEdTech hello so it says that load task is not defined even though I already used Def
      And for the save button I wanna ask is it supposed to create the tasks.dat folder or am I supposed to create it because when I click save it doesn't appear anywhere
      I tried by downloading your code from the description but still when I hit save it doesn't appear anywhere

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

      @@gumpreeengthegumpreeeng As I mentioned, can you share your code so I can take a look? Otherwise, I am just guessing.

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

      How do I share the code?

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

      I'm only 9 years old

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

    1st I guess

  • @ashwins4776
    @ashwins4776 4 роки тому

    Can you upload a proper pygame tutorial from basic..?

    • @TokyoEdTech
      @TokyoEdTech  4 роки тому

      Eventually - but not anytime soon. I may try to use Pygame with my students in Spring. If I do, I'll have to make a tutorial for it then.

    • @ashwins4776
      @ashwins4776 4 роки тому

      @@TokyoEdTech thank you

  • @aditgaur1585
    @aditgaur1585 4 роки тому

    Second!

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

    Hey man! My delete, save and load button does not work. One of the errors is " task.dat" cannot be found. THis is my code. I did it a liitle bit differently, but still the same structure as yours:
    import tkinter
    import tkinter.messagebox
    import pickle
    window = tkinter.Tk()
    window.title("ToDo list")
    # DEFINE FUNCTIONS
    def task_adding():
    todo_list = task_add.get()
    if todo_list !="": # not equal to something
    todolist_box.insert(tkinter.END,todo_list)
    else:
    tkinter.messagebox.showwarning(title="Attention!", message="To add a task, please enter some task")
    def task_removing():
    try:
    index_todo_list = list_frame.curselection()[0]
    list_frame.delete(index_todo_list)
    except:
    tkinter.messagebox.showwarning(title="Attention!", message="To delete a task, you must select a task")
    def task_loading():
    try:
    todo_list = pickle.load(open("task.dat","rb"))
    list_frame.delete(0,tkinter.END)
    for todo_list in task_add:
    list_frame.inset(tkinter.END,todo_list)
    except:
    tkinter.messagebox.showwarning(title="Attention!", message="Cannot find task.dat")
    def task_saving():
    todo_list = list_frame.get(0,list_frame.size())
    pickle.dump(todo_list, open("task.dat","wb"))
    # CREATE GUI
    list_frame = tkinter.Frame(window)
    list_frame.pack()
    todolist_box = tkinter.Listbox(list_frame, height=20,width =20)
    todolist_box.pack(side=tkinter.TOP)
    scroller = tkinter.Scrollbar(list_frame)
    scroller.pack(side=tkinter.RIGHT, fill=tkinter.Y) # Location of scrollbar Y = Vertical
    todolist_box.config(yscrollcommand=scroller.set) # execute the scroller command
    task_add = tkinter.Entry(window, width = 70) # the window where I enter the tasks
    task_add.pack()
    task_add_button = tkinter.Button(window, text="Click to Add task", font=("Times New Roman",12,"bold"),background="red",width=40, command=task_adding)
    task_add_button.pack()
    task_remove_button = tkinter.Button(window, text=" Click to Delete task", font=("Times New Roman", 12, "bold"), background ="yellow", width=40, command=task_removing)
    task_remove_button.pack()
    task_load_button = tkinter.Button(window, text=" Click to Load task", font=("Times New Roman", 12, "bold"), background ="brown", width=40, command=task_loading)
    task_load_button.pack()
    task_save_button = tkinter.Button(window, text="Click to Save task", font=("Times New Roman", 12, "bold"), background = "blue", width = 40, command=task_saving)
    task_save_button.pack()
    window.mainloop()

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

      Did you save before trying to load? Can you share the exact error messages?
      Plus you have
      for todo_list in task_add
      Does that make sense to you?

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

      @@TokyoEdTech Nope i did not save. And yes, i have couple of stupid line codes there. I will rewrite now.

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

    Hello sir
    Love from india 🎉❤❤ i used and modified it for my school project, i just improved the ui a bit, (please do check it out sir, please 🥺)
    import tkinter as c
    import tkinter.messagebox
    import pickle
    win=c.Tk()
    win.geometry("300x400")
    win.config(bg="blue4")
    #heading
    c.Label(win,text="..Task List..",font="bruney 19 bold",bg="black",fg="gold").pack()
    #frame to show task============================================================
    frame1= c.Frame(win,bd=2,bg="maroon")
    frame1.place(x=0,y=340,width=300,height=60)
    #frame2
    frame2= c.Frame(win,bd=2,bg="lightblue1")
    frame2.place(x=0,y=305,width=300,height=35)
    ##========================================================================
    #labelframe
    lf1=c.Label(win,text="write task:-",font="ariel 8 bold",bd=0)
    lf1.place(x=3,y=318,width=60,height=10)
    #================================
    #entry field
    entry_task=c.Entry(win,bd=2)
    entry_task.place(x=64,y=312,width=232)
    ##========
    #func for buttons
    def add_task():
    task=entry_task.get()
    if task != "":
    listbox_tasks.insert(c.END,task)
    entry_task.delete(0,c.END)
    else:
    c.messagebox.showwarning(title="warning", message="you must enter a task")
    ##
    def del_task():
    try:
    task_index=listbox_tasks.curselection()[0]
    listbox_tasks.delete(task_index)
    except:
    c.messagebox.showwarning(title="warning", message="you must select a task")
    ##
    def save_task():
    tasks=listbox_tasks.get(0,listbox_tasks.size())
    if len(tasks)!=0:
    pickle.dump(tasks,open("tasks.dat","wb"))
    else:
    c.messagebox.showwarning(title="warning", message="you must add a task")
    ##
    def load_data():
    try:
    tasks=pickle.load(open("tasks.dat","rb"))
    listbox_tasks.delete(0,c.END)
    for task in tasks:
    listbox_tasks.insert(c.END,task)
    except:
    c.messagebox.showwarning(title="warning", message="you must have tasks")
    ##
    #def delall_task():
    #tasks=pickle.load(open("tasks.dat","rb"))
    #if len(tasks) = 0:
    # c.messagebox.showwarning(title="warning", message="no past data")
    #lse:

    #buttons==================================================================
    ####
    #add button
    ad_bu=c.Button(win,text="ADD",font="ariel 10 bold",bg="dark orange",fg="black",bd=3,cursor="hand2",command=add_task)
    ad_bu.place(x=3,y=345,width=75,height=50)
    #delete button
    de_bu=c.Button(win,text="Delete",font="ariel 10 bold",bg="maroon",fg="black",bd=3,cursor="hand2",command=del_task)
    de_bu.place(x=75,y=345,width=75,height=50)
    #save button
    sa_bu=c.Button(win,text="Save",font="ariel 10 bold",bg="spring green",fg="black",bd=3,cursor="hand2",command=save_task)
    sa_bu.place(x=150,y=345,width=75,height=50)
    #Load butoon
    lo_bu=c.Button(win,text="Load task",font="ariel 10 bold",bg="medium orchid",fg="white",bd=3,cursor="hand2",command=load_data)
    lo_bu.place(x=225,y=345,width=74,height=50)
    #####======================================================================
    listbox_tasks=c.Listbox(win,height=17,width=80)
    listbox_tasks.pack()
    #=====================================================================
    c.mainloop()

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

      WOW - that looks awesome!
      One suggestion - you might not want to use place - on my computer I couldn't see part of the UI.