Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 24, 2008 23:50:54

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Не получается установить иконку у окна Toplevel. Может, заработался и не вижу очевидного, какая-то глупость:

#!/usr/bin/python
# -*- coding: utf-8 -*-
from Tkinter import *
MainWindow = Tk()
import os
if os.path.isfile('/home/alex/Job/favicon.ico'):
MainWindow.iconbitmap('/home/alex/Job/favicon.ico')
MainWindow.mainloop()
Выдаёт:
Traceback (most recent call last):
File “/tmp/py7476gED”, line 24, in <module>
MainWindow.iconbitmap('/home/alex/Job/favicon.ico')
File “/usr/lib/python2.5/lib-tk/Tkinter.py”, line 1515, in wm_iconbitmap
return self.tk.call('wm', ‘iconbitmap’, self._w, bitmap)
TclError: bitmap “/home/alex/Job/favicon.ico” not defined
В выводе “line 24” только потому, что здесь я убрал закомментирорванные строки.
Причём под Windows аналогичный код срабатывает без проблем (вызов метода iconbitmap с указанием пути строкой).



Офлайн

#2 Окт. 25, 2008 01:11:14

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Если я не ошибаюсь, TK под linux нет поддержки ico, а иконку можно повесить xbm (X11 image - только монохромные).



Отредактировано (Окт. 25, 2008 01:29:32)

Офлайн

#3 Окт. 25, 2008 07:50:56

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Есть еще у топлевела в запасе какие то методы в названии которых есть icon. Нужно пробовать..



Офлайн

#4 Окт. 25, 2008 10:51:58

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Что-то не найду подходящих методов, а с xbm и gif та же ошибка.
Подскажите пожалуйста, что в принципе можно сделать с иконкой окна под Linux.



Офлайн

#5 Окт. 26, 2008 02:07:51

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Привет

Подскажите пожалуйста, что в принципе можно сделать с иконкой окна под Linux.
Вот иконка, и тот же рисунок в окне:
#!/usr/bin/python
# -*- coding: koi8-r -*-
import sys
from PyQt4 import QtGui
class MyWindow(QtGui.QWidget):
def __init__(self,*args):
QtGui.QWidget.__init__(self,*args)
self.setWindowTitle("Picture")
# иконка поддерж. GIF,BMP,XBM,XPM,PNM,JPEG,MNG,GIF,PNM,PBM,PGM,PPM
icon =QtGui.QIcon("/home/mike/Desktop/lub.gif")
self.setWindowIcon(icon)
def paintEvent(self, event=None):
painter = QtGui.QPainter(self)
# изображение в окне
image = QtGui.QImage("/home/mike/Desktop/lub.gif")
painter.drawImage(0,0,image)

app = QtGui.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
Но эта Qt - ОБЛО,ОГРОМНО и ЛАЯЙ :)


с уважением gmorgunov



Офлайн

#6 Окт. 26, 2008 02:27:45

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Чего-то код расползся ? Если что - подровняй icon… self… image… по def .



Офлайн

#7 Окт. 26, 2008 10:18:44

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

gmorgunov
Вот иконка, и тот же рисунок в окне:
Спасибо, это работает. Но мне была интересна Tkinter.



Офлайн

#8 Окт. 26, 2008 16:32:12

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

Там под линкус есть хитрость. Надо ставить @ перед названием файла. =)
http://mail.python.org/pipermail/python-list/2004-January/245332.html

погугли.



Офлайн

#9 Окт. 27, 2008 16:59:57

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

shiza
Там под линкус есть хитрость. Надо ставить @ перед названием файла.
Да, спасибо, это работает.
Однако, пока не вижу способа использовать цветные иконки под Linux…



Офлайн

#10 Окт. 27, 2008 17:05:52

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: иконка у окна Toplevel

По той-же ссылке, третий способ. Отрисовать картинку поверх окна.
Но там тоже правда не все так прозрачно… %)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version