Переполнение сообщения в пузырь уведомления

Я изучаю, как использовать уведомления о gtk, и кажется, что любой вывод вывода через пузырь уведомления имеет максимальный размер переполнения, вероятно, 10 строк или около того. Итак, если сообщение, которое я хочу показать, более того, оно подавляется. Есть ли способ заставить отображать все сообщение без каких-либо ограничений?

Я использую notifyOSD, кстати.

1
задан 21 July 2016 в 10:40

1 ответ

Как я уже отмечал в комментариях, notify-osd не очень подходит для расширенных сообщений, и следует предпочесть zenity вместо этого.

Простым примером использования будет разворачивание диалога zenity через subprocess.call([COMMAND,OPTIONS])

import subprocess 

text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
command=['zenity', '--info', '--text="' +text + '"', '--width=250', '--height=300' ]
subprocess.call(command)

Очень простой пример. С чем-то, что требует проверки статуса выхода, например вопросов, вы можете захотеть использовать структуру try - except - else

import subprocess 

text='Do you want to use Zenity?'
command=['zenity', '--question', 
         '--text="' +text + '"',
         '--width=250', '--height=300' ]


try:
    stdout = subprocess.check_call(command)

except subprocess.CalledProcessError:
    pass # if return sttus is non-zero, do something here

else:
    # if exit status was 0 , we do something here
    print "Yes, I want to use Zenity too"

. Если вы хотите что-то более продвинутое, вероятно, подумайте об изучении одного из графических наборов инструментов, таких как PyQt или Gtk.

4
ответ дан 23 May 2018 в 07:56

Другие вопросы по тегам:

Похожие вопросы: