Portál AbcLinuxu, 12. května 2025 04:05

Dotaz: gtkwarning: gdk_property_change: assertion 'window != NULL' failed

18.5.2011 02:26 adrinko | skóre: 22
gtkwarning: gdk_property_change: assertion 'window != NULL' failed
Přečteno: 172×
Odpovědět | Admin
zdravim všetkých, mám taký problém, keď v textview označím text a vyberiem kopírovať, python vypíše v konzole: a.py:211: gtkwarning: gdk_property_change: assertion 'window != NULL' failed

na riadku 211 je gtk.main(), a kód programu vyzerá takto: http://www.abclinuxu.cz/poradna/programovani/show/335643 čo s tým je?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.5.2011 13:19 chrono
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
Odpovědět | | Sbalit | Link | Blokovat | Admin
Keďže v tom programe, ktorý si sem dával nie je riadok 211 predpokladám, že ten tvoj program je výrazne iný, takže asi nikto neuhádne, v čom je problém. Ak by som ale mal hádať, tak je problém v tom, že sa pokúšaš pracovať s prvkami z iného, ako hlavného vlákna.
18.5.2011 13:35 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
dakuje, zakomentoval som nepotrebne prvky a odstranil odchytavac chyby, prikladam aktualny kod. v tomto pripade to je riadok 55. ked napisem do okna text, oznacim mysou, pravy klik na to a dam napr kopirovat, tak to vypise tu chybu.

# -*- coding: utf-8 -*-
import sys      
import traceback 



import pygtk
pygtk.require("2.0")
import gtk
import gobject

class jednoduchy_textovy_prohlizec ():

      def __init__(self):
   
          ## naimportovanie firebird db
          #import kinterbasdb
          #self.con = kinterbasdb.connect(dsn=db, user=usr, password=psw)
          #self.cur = self.con.cursor()        
            
          self.okno = gtk.Window()
          self.okno.set_title("Textový editor")
          self.okno.set_border_width(10)
  
          # Editor
          self.textovy_buffer = gtk.TextBuffer()
          self.textovy_prohlizec = gtk.TextView(self.textovy_buffer)
          self.posuvnikove_okno = gtk.ScrolledWindow()
          self.posuvnikove_okno.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
          self.posuvnikove_okno.add_with_viewport(self.textovy_prohlizec)
  
          # Zabalení menu a editoru do VBoxu
          self.vbox = gtk.VBox(False, 5)
          self.vbox.pack_end(self.posuvnikove_okno)
  
          self.okno.add(self.vbox)
          self.okno.show_all()
  
          self.okno.connect("destroy", gtk.main_quit)
          
          # Tímto si vyrobíme "timer" po 5 sekundách
          # timer_id lze využít pro "vypnutí" timeru pomocí gobject.source_remove(timer_id)
          timer_id = gobject.timeout_add(1000, self.kazdych_5_sekund)
  
      def kazdych_5_sekund(self):
          #SELECT = "selecta * from aaa"
          #self.cur.execute(SELECT)
          #for row in self.cur.itermap():
          #    id = 'ID:%(ID)s' % row
          #    print id
          return True     # Toto způsobí že se toto bude opakovat každých 5s, False - provede se pouze jednou
 
if __name__ == "__main__":
      aplikace = jednoduchy_textovy_prohlizec()
      gtk.main()
18.5.2011 13:49 chrono
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
Tento konkrétny program mi žiadnu chybu nepíše a ani nie je dôvod, aby nejakú chybu písal (pretože sa tam vlastne s TextView/TextBuffer nič nerobí).

Nemáš pygtk skompilované pre starú verziu libgtk? (respektíve pre inú, ako máš momentálne nainštalovanú)
18.5.2011 13:55 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
fúha, ako to prosím zistím (tie vierzie)? ja keď napíšem hocičo do toho okna, a následne to chcem vystrihnúť/skopírovať, tak vybehne to hlásenie :/
18.5.2011 19:52 l4m4
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
Vezre zjistíš pomocí správce balíčků.

Mi to taky žádnou chybu nedělá a jediný důvod, proč by mohlo, je právě nekompatibilita v knihovnách, pravděpodobně staré pygtk používané s Gtk+ 2.18 či novějším.
18.5.2011 20:30 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: gtkwarning: gdk_property_change: assertion 'window != NULL' failed
ok, budem po tom pátrať a skúsim to dať na winxp do poriadku. prosím Vás, viete mi vysvetliť, prečo cut/paste/copy funguje len vrámci toho textviewu a nedá sa to skopírovať napr do poznámkového bloku? a prečo sú tam dolu pod select all veci ako "input methods" a "insert unicode control character"? poprpípade ako sa tie dve spodné dajú vypnúť?

vďaka

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.