Eu estou tentando fazer alguns mini aplicativos CRM em python usando gtk (pygtk), glade e comecei a desenvolvê-lo usando rapidamente (o que é incrível).
Eu criei alguns diálogos e adicionei listview ao GUI usando o glade) mas quando eu tentei adicionar alguns itens à lista dinamicamente, do script que glade \ rapidamente criado para que o aplicativo mostre alguns dados para o usuário que chamado do MySql (se houver outra opção, eu ficaria feliz em saber sobre isso aqui). Ele mostra muitos erros (no terminal).
Eu procurei por alguns tutoriais, mas tudo que eu encontrei são apenas tuts que explicam como criar a lista a partir do zero (não usando rapidamente e glade).
Aqui está o código:
Este é o applicationWindow.py criado rapidamente
Adicionei o código básico para os diálogos dos botões e, assim ...
import gettext
from gettext import gettext as _
gettext.textdomain('ubuntucrm')
from gi.repository import Gtk # pylint: disable=E0611
import logging
logger = logging.getLogger('ubuntucrm')
from ubuntucrm_lib import Window
from ubuntucrm.AboutUbuntucrmDialog import AboutUbuntucrmDialog
from ubuntucrm.PreferencesUbuntucrmDialog import PreferencesUbuntucrmDialog
from ubuntucrm.PopupcalendarDialog import PopupcalendarDialog
from ubuntucrm.NewcustomerDialog import NewcustomerDialog
from ubuntucrm.GlobalsearchDialog import GlobalsearchDialog
# See ubuntucrm_lib.Window.py for more details about how this class works
class UbuntucrmWindow(Window):
__gtype_name__ = "UbuntucrmWindow"
def finish_initializing(self, builder): # pylint: disable=E1002
"""Set up the main window"""
super(UbuntucrmWindow, self).finish_initializing(builder)
self.AboutDialog = AboutUbuntucrmDialog
self.PreferencesDialog = PreferencesUbuntucrmDialog
#self.PopupcalendarDialog = PopupcalendarDialog
# Code for other initialization actions should be added here.
self.CalendarButton = self.builder.get_object("CalendarButton")
self.contactsButton = self.builder.get_object("contactsButton")
self.productsButton = self.builder.get_object("productsButton")
self.OtherButton = self.builder.get_object("OtherButton")
#dialogs
self.cal = PopupcalendarDialog()
self.contactsDialog = NewcustomerDialog()
self.globalsearcher = GlobalsearchDialog()
#lists and modelers
self.leftTree = self.builder.get_object("leftTreeview")
self.treeModeler = self.builder.get_object("liststorer1")
#functions
def on_OtherButton_clicked(self, widget):
print "you clicked OtherButton"
// aqui eu tentei algo como:
self.treeModeler.append(["bla bla","some text"])
// por exemplo, "bla bla" carregado de algum banco de dados MySQL ..
def on_productsButton_clicked(self, widget):
print "you clicked producs button"
self.globalsearcher.run()
def on_contactsButton_clicked(self, widget):
print "you clicked contactButton "
self.contactsDialog.run()
def on_CalendarButton_clicked(self, widget):
print "calling to calendar button"
self.cal.run()
O erro é:
(ubuntucrm:10443): Gtk-CRITICAL **: gtk_list_store_get_value: assertion 'column < priv->n_columns' failed
e o pedido está incorreto
| algum texto | bla bla |
em vez de:
| bla bla | algum texto |