Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Установка всплывающего окна по центру программы [RSS Feed]

#1 Март 25, 2015 14:08:34

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

victoreva
А чем вам place не нравится?

Изменение размеров виджета подчас приводит к интересным результатам. Плюс много вещей реализовать нельзя и нужно очень много самому высчитывать при укрупнении интерфейса.

Офлайн

#2 Март 25, 2015 14:11:09

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

victoreva
Программа ошибок не выдает, но и ничего не происходит. Не скажите в чем причина?

Пишите подробнее. Я мысли читать пока не научился. Тем более, если приводите только кусок кода.

Что значит не происходит? Окно не появляется? Кнопки не нажимаются?

Офлайн

#3 Март 25, 2015 14:27:37

victoreva
Зарегистрирован: 2015-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

Кнопки нажимаются, окно появляется. Но не выполняются сами батники - ни в текстовое поле ничего не выводит и не создает текстовый файл.

Отредактировано victoreva (Март 25, 2015 14:28:38)

Офлайн

#4 Март 25, 2015 14:33:08

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

После изменений кода,

def func1(a1):
   print(a1)
   cmd='bat\Helpful information\'+ a1 + '.bat'
   proba=subprocess.check_output(cmd, stderr=subprocess.STDOUT)
   send_text(proba)
def func1(a2):
   print(a2)	
   cmd='bat\Helpful information\' + a2 + '.bat'
   proba=subprocess.check_output(cmd, stderr=subprocess.STDOUT)
   send_text(proba)

что отображается на экране в командной строке?

Офлайн

#5 Март 25, 2015 14:36:57

victoreva
Зарегистрирован: 2015-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

ничего..

Офлайн

#6 Март 25, 2015 14:48:39

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

def dialog(batnik1,batnik2):
  print("bat_files:", batnik1, batnik2)
  win = Toplevel(root,width=400,height=100 )
 
  but1 = Button(win, text="Поле программы",width=30,height=5, bg="white",fg="black")	
  but1.bind("<Button-1>",lambda event:func1(batnik1)) 
  but1.place(relx=0.05,rely=0.55,relwidth=0.3,relheight=0.3) 
  but2 = Button(win, text="Текстовый файл",width=30,height=5, bg="white",fg="black") 
  but2.bind("<Button-1>",lambda event:func2(batnik2))
  but2.place(relx=0.4,rely=0.55,relwidth=0.3,relheight=0.3)	
  but3 = Button(win, text="Отмена",width=30,height=5, bg="white",fg="black") 
  but3.bind("<Button-1>", lambda event: win.destroy())
  but3.place(relx=0.75,rely=0.55,relwidth=0.2,relheight=0.3)

А теперь?

Офлайн

#7 Март 25, 2015 14:59:37

victoreva
Зарегистрирован: 2015-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

Пардон, запускал еще не редактируемый файл. Теперь выдает ошибку:
cmd='bat\Helpful information\'+ a1
^
SyntaxError: EOL while scanning string literal

Офлайн

#8 Март 25, 2015 15:07:12

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

Вам бы основы почитать…

cmd='bat\Helpful information\'+ a1

В этом тексте \ - специальный символ и интерпретатор читает его специфически. Например “\n” переход на следующую строку, “\t” табуляция и т.п.

Проблема решается несколькими способами:
1. Используется модуль os и его метод path.join() (самый правильный способ, так как не зависит от ОС).
2. Используются raw строки. Для этого перед строкой ставится буква r.
3. Делаем двойное экранирование по-типу cmd='bat\\Helpful information\\'+ a1.
4. Переходим на нормальную ОС и удаляем винду Там такие проблемы невозможны.

Офлайн

#9 Март 25, 2015 15:17:27

victoreva
Зарегистрирован: 2015-03-17
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Установка всплывающего окна по центру программы

Спасибо, как всегда выручили!

Офлайн

  • Начало
  • » GUI
  • » Установка всплывающего окна по центру программы[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version