Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
1
Tkinter

Не передается значение

12.01.2021, 00:14. Просмотров 1411. Ответов 25
Метки нет (Все метки)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def shifr():
 tex1=str(100)
 for i in range (0,dlina):
     if tex1[i]==' ':
                     texd=texd+' '
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270) 
     if tex1[i]=='а':
                     texd=texd+'*'
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270)
не передается значение в texd , помогите)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2021, 00:14
Ответы с готовыми решениями:

Передаётся не то значение дб
Передаться не верное значение дб. По нажатию кнопки в список переноситься значение из бд, по...

Не Передается Значение
Подскажите плз есть xpages <?xml version="1.0" encoding="UTF-8"?> <xp:view...

Не передается значение переменной
Делаю свою первую игрушку, решил сделать меню с выбором сложности, но вот что то значение не...

Не передаётся значение через GET
Не передаются параметры через Get на страницы движка if (isset($_GET)) { $imgur = $_GET; echo...

25
Заяц, просто Заяц.
605 / 242 / 144
Регистрация: 12.11.2017
Сообщений: 769
12.01.2021, 00:25 2
Ну ты не определяешь, что такое texd. Надо объявить эту переменную.
0
1168 / 713 / 162
Регистрация: 22.02.2018
Сообщений: 2,057
Записей в блоге: 3
12.01.2021, 02:31 3
gologol, Для оператора + слева и справа операнды должны иметь значения, что бы оператор знал что складывать.
Перед циклом нужно для texd присвоить начальное значение. Например пустую строку
Python
1
texd = ''
(две одинарные кавычки).
Такая пустая строка не внесет Вам искажения, но позволит программе произвести первоначальное сложение.
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 06:04 4
Viktorrus, Fury67, полагаю переменная texd у автора-глобальная, это ж ткинтер
и gologol, наивно полагает что мы можем по огрызку текста выдать ему диагноз
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 13:54  [ТС] 5
не передает все так же(

Добавлено через 43 секунды
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
from tkinter import *
from random import *
window = Tk()
window.title("Шифрование текста с помощью RSA")
window.geometry('1050x800')
window["bg"] = "light blue"
 
 
lbl1=Label(window,text='              Открытый ключ e',bg='light blue',font='Times 14')
lbl1.place(x=20,y=45)
 
 
 
lbl2=Label(window,text='              Закрытый ключ d',bg='light blue',font='Times 14')
lbl2.place(x=370,y=45)
 
 
 
 
lbl3=Label(window,text='                    Модуль N',bg='light blue',font='Times 14')
lbl3.place(x=720,y=45)
 
 
 
n=33
e=7
d=3
texd=StringVar()
tex2=Entry(window,width=160,textvariable=texd)
tex2.place (x=40 , y = 270)
texd=' '
def generation(): 
 
 lbl10=Label(window,text=e,bg='light blue',font='Times 14')
 lbl10.place(x=90, y = 70)
 
 lbl20=Label(window,text=d,bg='light blue',font='Times 14')
 lbl20.place(x=440, y = 70)  
 
 
 lbl30=Label(window,text=n,bg='light blue',font='Times 14')
 lbl30.place(x=820, y = 70)
 
i=0
j=1
def koltext():
 dlina=len(tex1.get())+1
 
 lbl5=Label(window,text=dlina-1,bg='light blue',font='Times 14')
 lbl5.place(x=590, y = 180)    
 
def shifr():
 tex1=str(100)
 for i in range (0,dlina):
     if tex1[i]==' ':
                     texd=texd+' '
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270) 
     if tex1[i]=='а':
                     texd=texd+'*'
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270)
 
  
 
btn1=Button(window,text="Длина введенного текста", command=koltext)
btn1.place(x=438,y=180)
btn = Button(window, text=" Генерировать ключи шифрования", command=generation)
btn.place(x=418,y=15)
 
 
lbl4=Label(window,text='                Введите текст для шифрования',bg='light blue',font='Times 14')
lbl4.place(x=310,y=120)
 
lbl4=Label(window,text='                       Зашифрованный текст',bg='light blue',font='Times 14')
lbl4.place(x=310,y=240)
 
 
btns=Button(window,text='Зашифровать', command=shifr)
btns.place(x=438,y=220)
 
 
tex1=StringVar()
tex=Entry(window,width=160,textvariable=tex1)
tex.place(x=40,y=150)
dlina=len(tex1.get())+1
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 16:16 6
Цитата Сообщение от gologol Посмотреть сообщение
не передает все так же(
ты напиши еще меньше, тогда точно поможем. сарказм
раз уж ты входишь в ИТ научись формулировать мысли -кто и чего не передает? какие ошибки падают? что ты хотел получить но что получил в итоге? как определил что не передает? Растекись текстом то, не стесняйся

Добавлено через 2 минуты
а, увидел. Это так не работает в питоне, начни с основ
Цитата Сообщение от gologol Посмотреть сообщение
texd=texd+' '
                     texd=StringVar()
если ты в функции хочеш глобальную переменную менять то должен объявить ее внутри функции как global иначе создается временная локальная переменная.

Короче -читаем пурвый том Лутца, не пишем никакого ГУИ до того как прочтем.
0
DmFat
12.01.2021, 16:24
  #7

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
объявить ее внутри функции как global
ты должен был бороться со злом, а не :cry:

0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 16:50 8
DmFat, а как на его уровне то бороться, он не понимает о чем я? ему только совет читать основы
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:08  [ТС] 9
я обьявил внутри функции как глобал..
а символы из tex1 все равно не передаются в texd
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 17:11 10
а я все исправил -работает
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:17  [ТС] 11
можешь код кинуть сюда? посижу - поразбираюсь
0
Заяц, просто Заяц.
605 / 242 / 144
Регистрация: 12.11.2017
Сообщений: 769
12.01.2021, 17:20 12
gologol, тебе же написали, что надо сделать.
Цитата Сообщение от Welemir1 Посмотреть сообщение
должен объявить ее внутри функции как global
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:21  [ТС] 13
не передает значение - я объявил
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 17:22 14
а я не объявлял -все работает
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:24  [ТС] 15
Welemir1, сможешь скинуть свой код- пожалуйста!!)

Добавлено через 32 секунды
Welemir1,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def shifr():
 global texd
 texd=' ' 
 tex1=str(dlina)
 for i in range (0,dlina):
     if tex1[i]==' ':
                     texd=texd+' '
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270) 
     if tex1[i]=='а':
                     texd=texd+'*'
                     texd=StringVar()
                     tex2=Entry(window,width=160,textvariable=texd)
                     tex2.place (x=40 , y = 270)
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 17:27 16
Цитата Сообщение от gologol Посмотреть сообщение
сможешь скинуть свой код- пожалуйста!!)
нет. ты же не говоришь нормально что и где не работает, что ты вводишь, что нажимаешь и чего ждешь на выходе. Вот и я все сделал но тебе не покажу. Ты коротко -не работает, а я коротко -я сделал. Без подробностей
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:28  [ТС] 17
Welemir1, я же писал , переменную tex1 не переводит в переменную texd и не выводит на экран в entry
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 17:45 18
gologol, то есть ты не понимаешь что ничего из твоего текста не ясно? последний раз попробую потом пас -
- что вводил?
- что ожидал на выходе?
- что получил на выходе по факту?

да и с отступами у тебя что-то не то

Цитата Сообщение от gologol Посмотреть сообщение
texd=texd+' '
                     texd=StringVar()
зачем ты присваиваешь дополнительный пробел и тут же затриаешь это значение объектом СтрингВар? зачем тогда присваивал?

Цитата Сообщение от gologol Посмотреть сообщение
переменную tex1 не переводит в переменную texd
а в каком месте это должно было произойти в коде? у тебя там просто какие то действия в зависимости от значения символов в tex1, сам tex1 не меняется нигде

Добавлено через 2 минуты
DmFat, ты в гуи силен? я понял что он пытается сделать, он хочет менять значение в ентри но думает что это можно сделать через изменение строковой переменной. Как в ентри менять значения?

Добавлено через 7 минут
gologol, вот так меняют ентри
Python
1
tex2.insert(0,'dfgdfgdfgsdfg')
0
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 12
12.01.2021, 17:45  [ТС] 19
Welemir1, вводил букву а
ожидал на выходе *
получил по факту- пустой entry
0
Автоматизируй это!
Эксперт Python
3837 / 2627 / 799
Регистрация: 30.03.2015
Сообщений: 8,702
Записей в блоге: 10
12.01.2021, 17:52 20
Цитата Сообщение от gologol Посмотреть сообщение
получил по факту- пустой entry
Цитата Сообщение от Welemir1 Посмотреть сообщение
вот так меняют ентри
и читай доку ткинтера
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2021, 17:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Значение переменной не передаётся
public bool ControlProperty; public void button4_Click(object sender, EventArgs e) ...

Не передается значение чекбокса
Приветствую :) В общем, есть страница заказов услуг: выводится запросом с чекбоксами. Написал...

Не передается значение в поле
На форму в комбобокс выгружаются марки машин DBDataClassesDataContext DBconnect = new...

Не передается значение char *
void date2string(unsigned int date,char * s) { char m={31,28,31,30,31,30,31,31,30,31,30,31}; ...

Почему внутри sub не передается значение?
Поскажите плиз, вот подпрограмма для Access Private Sub NewData_Click() strFirmName$ = ...

В функцию передается пустое значение
Здравствуйте. Есть функция, для вывода информация, используется еще одна функция. Вот код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.