omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Textfield with ui

    Pythonista
    4
    19
    4067
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Python567
      Python567 last edited by

      Oh thanks, i test it

      1 Reply Last reply Reply Quote 0
      • Python567
        Python567 last edited by

        I have here a programm which can find out all prime numbers. But I have the Problem, that I only can print the result in the console. I write tf.text = Right but it don‘t works why? I get a error with strand int. But I don‘t know how to fix that.

        import ui
        
        dialog = ui.View()
        
        
        tf = ui.TextField()
        tf.name = 'Test'
        tf.frame = (50,50,1000,100)
        tf.keyboard_type = ui.KEYBOARD_DECIMAL_PAD
        tf.text = ''
        tf.placeholder = 'Gib was ein!'
        
        def primzahl():
          p = int(tf.text)
          i = 2
          istPrimzahl = True 
          teiler = 0
          
          while (i < p):
            if p % i == 0:
          			istPrimzahl = False
          			teiler = i 
          			break 
            i += 1
        			
          if istPrimzahl:
            	tf.text = 'Die Zahl', p , 'ist eine Primzahl.'
        			
          else:
            	print ("Die Zahl",p, "ist keine Primzahl, weil sie durch " , i , " teilbar ist.") 
            	
            	
        def tf_action(sender):
        	primzahl()
          
        
        
        tf.action = tf_action
        
        dialog.add_subview(tf)
        
        ebutton = ui.Button()
        
        ebutton.title = '='
        ebutton.frame = (50,200,1000,100)
        ebutton.background_color = "red"
        def ebutton_action(sender):
        	tf.text = "gedrückt!"
        	
        ebutton.action = ebutton_action
        
        menubutton = ui.ButtonItem()
        menubutton.title = 'fghjk'
        dialog.right_button_items = [menubutton]
        
        
        dialog.add_subview(ebutton)
        dialog.present('fullscreen')
        tf.begin_editing()
        #sheet
        cvp 1 Reply Last reply Reply Quote 0
        • cvp
          cvp @Python567 last edited by

          @Python567 try already with

                  tf.text = 'Die Zahl ' + str(p) + ' ist eine Primzahl.'
          
          1 Reply Last reply Reply Quote 0
          • Python567
            Python567 last edited by Python567

            No, thanks:)

            cvp 1 Reply Last reply Reply Quote 0
            • cvp
              cvp @Python567 last edited by

              @Python567 said:

              No

              Why no?

              1 Reply Last reply Reply Quote 0
              • Python567
                Python567 last edited by

                @cvp Sorry, I wanna write a first something else wich beginn with „no“. 😐

                cvp 1 Reply Last reply Reply Quote 0
                • cvp
                  cvp @Python567 last edited by

                  @Python567 no problem 😉

                  1 Reply Last reply Reply Quote 0
                  • ccc
                    ccc last edited by ccc

                    F-strings (tf.text = f'Die Zahl {p} ist eine Primzahl.') are a single instruction in Python bytecode.
                    This makes them faster and more efficient than legacy string formatting https://www.scivision.dev/python-f-string-speed
                    Improved readability is also a clear value.

                    1 Reply Last reply Reply Quote 1
                    • MrEVandQuestions
                      MrEVandQuestions @cvp last edited by

                      @cvp that code works cool but what if I want to use it without presenting, the keyboard shortcuts?

                      cvp 1 Reply Last reply Reply Quote 0
                      • cvp
                        cvp @MrEVandQuestions last edited by

                        @MrEVandQuestions said:

                        use it without presenting, the keyboard

                        Remove the line

                        tf.begin_editing()
                        
                        1 Reply Last reply Reply Quote 0
                        • MrEVandQuestions
                          MrEVandQuestions last edited by

                          OK. Thanks!

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Powered by NodeBB Forums | Contributors