def __init__(self, parent=None): UFT_UiForm.__init__(self) self.dut_image = None # sync config db from config xml sync_config("sqlite:///" + CONFIG_DB, CONFIG_FILE, direction="in") # # setup config db, view and model self.config_db = QtSql.QSqlDatabase.addDatabase("QSQLITE", "config") self.config_db.setDatabaseName(CONFIG_DB) result = self.config_db.open() if (not result): msgbox = QtGui.QMessageBox() msg = self.config_db.lastError().text() msgbox.critical(msgbox, "error", msg + " db=" + CONFIG_DB) self.config_tableView = QtGui.QTableView() # self.test_item_tableView already created in UI. self.config_model = QtSql.QSqlTableModel(db=self.config_db) self.test_item_model = QtSql.QSqlRelationalTableModel( db=self.config_db) self.test_item_model.setEditStrategy( QtSql.QSqlTableModel.OnManualSubmit) # setup log db, view and model self.log_db = QtSql.QSqlDatabase.addDatabase("QSQLITE", "log") self.log_db.setDatabaseName(RESULT_DB) result = self.log_db.open() if (not result): msgbox = QtGui.QMessageBox() msg = self.config_db.lastError().text() msgbox.critical(msgbox, "error", msg + " db=" + RESULT_DB) # self.log_tableView self.log_model = QtSql.QSqlTableModel(db=self.log_db) self.cycle_model = QtSql.QSqlRelationalTableModel(db=self.log_db)
def CreateTableSensor(self): self.tm = QtSql.QSqlRelationalTableModel(self) self.tm.setTable('sensor') self.tm.setFilter('address > 0') self.tm.setRelation(6, QtSql.QSqlRelation('stype', 'id', '*')) self.tm.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange) self.tm.select() self.ui.tableSensor.setModel(self.tm)
def setupSourceModels(self): self.model = QtSql.QSqlTableModel(self) self.model.setTable("distinctpackets") self.model.sort(0, Qt.DescendingOrder) self.sessionmodel = QtSql.QSqlRelationalTableModel(self) self.sessionmodel.setTable("session") self.sessionmodel.setRelation( 1, QtSql.QSqlRelation("distinctpackets", "ID", "Class")) self.sessionmodel.sort(0, Qt.DescendingOrder)
def __init__(self, parent=None): QObject.__init__(self, parent) self.model = QtSql.QSqlRelationalTableModel(self) self.model.setTable("session") self.model.setRelation( 1, QtSql.QSqlRelation("distinctpackets", "ID", "Class")) self.model.sort(0, Qt.DescendingOrder) self.proxy = QtGui.QSortFilterProxyModel() self.proxy.setSourceModel(self.model) self.proxy.setFilterKeyColumn(1) self.proxy.setDynamicSortFilter(True)
def __init__(self): super(Dialogo_Editar_Entes, self).__init__() self.msgBox = QtGui.QMessageBox() self.msgBox.setModal(True) self.dialogo = QtGui.QDialog() self.dialogo.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.dialogo.setModal(True) self.ui = Ui_Dialogo_Editar_Entes(self.dialogo) self.modeloBaseDatos = QtSql.QSqlRelationalTableModel(self, db) self.modeloBaseDatos.setTable("entes") self.modeloBaseDatos.setEditStrategy( QtSql.QSqlRelationalTableModel.OnFieldChange) #la segunda columna de entes es una clave foranea, especificamente idminsiterio de la tabla minsiterios y queremos #colocar en este modelo la columna nombre de esa tabla self.modeloBaseDatos.setRelation( 2, QtSql.QSqlRelation('ministerios', 'idministerio', 'nombre')) self.modeloBaseDatos.select() self.modeloBaseDatos.setHeaderData(1, QtCore.Qt.Horizontal, "Nombre del ente") self.modeloBaseDatos.setHeaderData(2, QtCore.Qt.Horizontal, "Ministerio del ente") #Creando el modelo para filtrar data self.filtro = QtGui.QSortFilterProxyModel() self.filtro.setSourceModel(self.modeloBaseDatos) self.filtro.setFilterKeyColumn(1) #Se coloca el modelo del proxy en lugar del modelo de base de datos self.ui.tableView.setModel(self.filtro) self.ui.tableView.hideColumn(0) #self.ui.tableView.setItemDelegate(QtSql.QSqlRelationalDelegate(self.ui.tableView)) self.ui.tableView.setItemDelegate(FlipProxyDelegate(self.ui.tableView)) self.ui.tableView.setColumnWidth(1, 300) self.ui.tableView.show() self.ui.pushButton.clicked.connect(self.eliminarEntes) self.ui.pushButton_2.clicked.connect(self.agregarEnte) self.ui.lineEdit.textChanged.connect(self.filtro.setFilterRegExp) self.modeloBaseDatos.beforeInsert.connect(self.verificarData) self.modeloBaseDatos.beforeUpdate.connect(self.verificarData)
def __init__(self): super(Dialogo_Filtrar_Entes, self).__init__() self.dialogo = QtGui.QDialog() self.dialogo.setModal(True) self.dialogo.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.ui = Ui_Dialogo_Filtrar_Entes(self.dialogo) self.modeloBaseDatos = QtSql.QSqlRelationalTableModel(self, db) self.modeloBaseDatos.setTable("entes") self.modeloBaseDatos.setEditStrategy( QtSql.QSqlRelationalTableModel.OnFieldChange) #la segunda columna de entes es una clave foranea, especificamente idminsiterio de la tabla minsiterios y queremos #colocar en este modelo la columna nombre de esa tabla self.modeloBaseDatos.setRelation( 2, QtSql.QSqlRelation('ministerios', 'idministerio', 'nombre')) self.modeloBaseDatos.select() #Creando el modelo para filtrar data self.filtro = QtGui.QSortFilterProxyModel() self.filtro.setSourceModel(self.modeloBaseDatos) self.filtro.setFilterKeyColumn(1) #Se coloca el modelo del proxy en lugar del modelo de base de datos self.ui.tableView.setModel(self.filtro) self.ui.tableView.hideColumn(0) self.ui.tableView.hideColumn(2) self.ui.tableView.setItemDelegate( QtSql.QSqlRelationalDelegate(self.ui.tableView)) self.ui.tableView.setSortingEnabled(True) self.listaEntesFiltrados = [ ] #self.ui.tableView.selectionModel().selectedIndexes() #print(self.listaEntesFiltrados) #print("numero = " + str(self.filtro.rowCount())) for n in range(self.filtro.rowCount()): index = self.filtro.index(n, 1) self.listaEntesFiltrados.append(str(self.filtro.data(index))) self.ui.lineEdit.textChanged.connect(self.filtro.setFilterWildcard) self.ui.lineEdit.textChanged.connect(self.filtrarLista) self.ui.comboBox.currentIndexChanged.connect(self.cambiarFiltro)
def create_widgets(self): self.model = QtSql.QSqlRelationalTableModel(self) self.model.setTable("CustomerOrder") self.model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit) self.model.setRelation( CUSTOMER, QtSql.QSqlRelation('customerview', 'CustomerID', 'Name')) self.model.setSort(ID, Qt.AscendingOrder) self.model.setHeaderData(ID, Qt.Horizontal, QVariant("Order")) self.model.setHeaderData(DATE, Qt.Horizontal, QVariant("DATE")) self.model.setHeaderData(TIME, Qt.Horizontal, QVariant("TIME")) self.model.setHeaderData(CUSTOMER, Qt.Horizontal, QVariant("CUSTOMER")) self.model.select() self.view = QTableView() self.view.setModel(self.model) self.view.resizeColumnsToContents()
#print "*** Testing Llampex Qt Database Driver..." #llampex_driver = qsqlrpc.QSqlLlampexDriver() #print llampex_driver #db = QtSql.QSqlDatabase.addDatabase(llampex_driver, "myconnection") #print ">> Database:",db # #if not db.open(): # print "unable to open database" # sys.exit(1) clientoptions.prepareParser() qsqlrpc.DEBUG_MODE = clientoptions.getDebug() db = clientoptions.getDB() if not clientoptions.getTable() == "users": print "Sorry, in this example you cannot change the table." print "This example works with the three tables of Llampex DB." else: model = QtSql.QSqlRelationalTableModel(None, db) initializeModel(model) view = createView("Relational Table Model", model) view.show() app.exec_() del model del view clientoptions.db = None del db QtSql.QSqlDatabase.removeDatabase("myconnection")
query.exec_("create table city(id int, name varchar(20))") query.exec_("insert into city values(100, 'San Jose')") query.exec_("insert into city values(5000, 'Oslo')") query.exec_("insert into city values(80000, 'Munich')") query.exec_("create table country(id int, name varchar(20))") query.exec_("insert into country values(41, 'USA')") query.exec_("insert into country values(47, 'Norway')") query.exec_("insert into country values(49, 'Germany')") if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) if not connection.createConnection(): sys.exit(1) createRelationalTables() model = QtSql.QSqlRelationalTableModel() initializeModel(model) view = createView(model.tr("Relational Table Model"), model) view.show() sys.exit(app.exec_())
def __init__(self): QtGui.QMainWindow.__init__(self) # Set up the user interface from Designer. self.ui = Ui_MainWindow() self.ui.setupUi(self) QtGui.QApplication.setStyle(QtGui.QStyleFactory.create("Cleanlooks")) self.s = QSettings() #read settings self.config = ConfigParser.ConfigParser() self.config.read( os.path.join(os.path.dirname(os.path.realpath(__file__)), "settings.cfg")) self.read() #db settings self.db = QtSql.QSqlDatabase.database("myconnection") print "DB is already opened:", self.db.isOpen() if not self.db.isOpen(): ok = self.db.open() if ok == True: print "Database just opened now!" else: print "Failed to open database!" # ====================NOMOTHESIA ============================================================================================== #FIELD indexes FROM TABLE aegean.nomothesia NOMOTHESIAID, NOMOTHESIA, FILENAME, HAS_MAP, NOTES, TYPE, NEWFILENAME = range( 7) self.nomothesiaModel = QtSql.QSqlRelationalTableModel(self, self.db) self.nomothesiaModel.setTable("aegean.nomothesia") if self.nomothesiaModel.lastError().isValid(): print("Error during data selection") self.nomothesiaModel.setRelation( TYPE, QtSql.QSqlRelation("aegean.nomothesia_types", "id", "description")) self.nomothesiaModel.select() self.nomothesiaModel.setHeaderData(NOMOTHESIA, QtCore.Qt.Horizontal, u"Νομοθεσία") self.nomothesiaModel.setHeaderData(TYPE, QtCore.Qt.Horizontal, u"Κατηγορία") while self.nomothesiaModel.canFetchMore(): self.nomothesiaModel.fetchMore() self.proxyModelNomothesia = QtGui.QSortFilterProxyModel() self.proxyModelNomothesia.setSourceModel(self.nomothesiaModel) self.proxyModelNomothesia.setFilterKeyColumn(NOMOTHESIA) self.ui.tableViewNomothesia.setModel(self.proxyModelNomothesia) self.ui.tableViewNomothesia.setVisible(False) self.ui.tableViewNomothesia.resizeColumnsToContents() self.ui.tableViewNomothesia.setVisible(True) self.ui.tableViewNomothesia.setAlternatingRowColors(True) self.ui.tableViewNomothesia.setSortingEnabled(True) self.ui.tableViewNomothesia.setSelectionMode( QtGui.QAbstractItemView.SingleSelection) self.ui.tableViewNomothesia.setSelectionBehavior( QAbstractItemView.SelectRows) self.ui.tableViewNomothesia.verticalHeader().setVisible(False) self.ui.tableViewNomothesia.sortByColumn( NOMOTHESIA, QtCore.Qt.AscendingOrder ) #κάνω το sort στο tableview γιατί στο QSortFilterProxyModel δεν δουλεύει όταν το datasource είναι QSqlQueryModel #Hide some columns self.ui.tableViewNomothesia.setColumnHidden(NOMOTHESIAID, True) self.ui.tableViewNomothesia.setColumnHidden(FILENAME, True) self.ui.tableViewNomothesia.setColumnHidden(HAS_MAP, True) self.ui.tableViewNomothesia.setColumnHidden(NOTES, True) self.ui.tableViewNomothesia.setColumnHidden(NEWFILENAME, True) self.ui.tableViewNomothesia.setEditTriggers( QtGui.QAbstractItemView.NoEditTriggers) #============================================================================================================================== # ====================OIKISMOI ================================================================================================ #FIELD indexes OIKISMOI_NAME, DIMOI_NAME, NOMOI_NAME, NOMOTHESIA_NOMOTHESIA, oikismoi_has_nomothesia_description, oikismoi_has_nomothesia_nomothesiaid, oikismoi_id = range( 7) self.modeloikismoi = QtSql.QSqlQueryModel(self) self.modeloikismoi.setQuery( self.config.get('Sqlsettings', 'selectOikismoi'), self.db) if self.modeloikismoi.lastError().isValid(): print("Error during data selection") self.modeloikismoi.setHeaderData(OIKISMOI_NAME, QtCore.Qt.Horizontal, u"Οικισμός") self.modeloikismoi.setHeaderData(DIMOI_NAME, QtCore.Qt.Horizontal, u"Δήμος") self.modeloikismoi.setHeaderData(NOMOI_NAME, QtCore.Qt.Horizontal, u"Νομός") self.modeloikismoi.setHeaderData(NOMOTHESIA_NOMOTHESIA, QtCore.Qt.Horizontal, u"Νομοθεσία") self.modeloikismoi.setHeaderData(oikismoi_has_nomothesia_description, QtCore.Qt.Horizontal, u"Λεπτομέρειες") while self.modeloikismoi.canFetchMore(): self.modeloikismoi.fetchMore() self.proxyModeloikismoi = QtGui.QSortFilterProxyModel() self.proxyModelNomothesia.setSortLocaleAware(True) self.proxyModeloikismoi.setSourceModel(self.modeloikismoi) self.proxyModeloikismoi.setFilterKeyColumn( oikismoi_has_nomothesia_nomothesiaid) self.ui.tableViewOikismoi.setModel(self.proxyModeloikismoi) self.ui.tableViewOikismoi.setVisible(False) self.ui.tableViewOikismoi.resizeColumnsToContents() self.ui.tableViewOikismoi.setVisible(True) self.ui.tableViewOikismoi.setSortingEnabled(True) self.ui.tableViewOikismoi.setSelectionMode( QtGui.QAbstractItemView.SingleSelection) self.ui.tableViewOikismoi.setSelectionBehavior( QAbstractItemView.SelectRows) self.ui.tableViewOikismoi.sortByColumn( OIKISMOI_NAME, QtCore.Qt.AscendingOrder ) #κάνω το sort στο tableview γιατί στο QSortFilterProxyModel δεν δουλεύει όταν το datasource είναι QSqlQueryModel self.ui.tableViewOikismoi.verticalHeader().setVisible(False) self.ui.tableViewOikismoi.setAlternatingRowColors(True) #Hide some columns self.ui.tableViewOikismoi.setColumnHidden( oikismoi_has_nomothesia_nomothesiaid, True) self.ui.tableViewOikismoi.setColumnHidden(oikismoi_id, True) #============================================================================================================================== #====================signals and slots ======================================================================================== self.ui.lineEdit.textChanged.connect(self.setFilterNomothesia) self.ui.lineEdit.textChanged.connect(self.setFilterNomothesia) self.ui.tableViewNomothesia.selectionModel().currentChanged.connect( self.setfilterOikismous) self.ui.actionFek.triggered.connect(self.starpdf) #============================================================================================================================== #====================some extra widgets======================================================================================== self.lb = QLabel('Ready...') self.lb.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken) self.lbfiles = QLabel('') self.lbfiles.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Sunken) self.lbfiles.hide() self.pb = QtGui.QProgressBar(self) self.pb.hide() #add widgets to statusBar self.statusBar().addWidget(self.lb, 0) self.statusBar().addWidget(self.lbfiles, 1) self.statusBar().addWidget(self.pb, 2)
def __init__(self): #Qt main window init QtGui.QMainWindow.__init__(self) # instance variables self.ui = Ui_MainWindow() self.ui.setupUi(self) # sshFile="Default.css" # with open(sshFile,"r") as fh: # self.setStyleSheet(fh.read()) self.LastCG = 0 self.APIurl = "http://eknowles.com/api/" self.PlayersXML = self.APIurl + "playerslist.php?export=xml" self.TeamsXML = self.APIurl + "teamslist.php?export=xml" self.EventsXML = self.APIurl + "eventslist.php?export=xml" self.Team_EventXML = self.APIurl + "link_team_eventlist.php?export=xml" self.Player_TeamXML = self.APIurl + "link_player_teamlist.php?export=xml" QtCore.QObject.connect(self.ui.get_tweets_btn, QtCore.SIGNAL('clicked()'), self.SearchTweets) # self.ui.get_tweets_btn.clicked.connect(self.SearchTweets) QtCore.QObject.connect(self.ui.console_go, QtCore.SIGNAL('clicked()'), self.ConsoleCommand) QtCore.QObject.connect(self.ui.Console_ComingUp, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(1)) QtCore.QObject.connect(self.ui.Console_Sponsors, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(2)) QtCore.QObject.connect(self.ui.Console_TweetFeed, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(3)) QtCore.QObject.connect(self.ui.Console_TweetSingle, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(4)) QtCore.QObject.connect(self.ui.Console_TeamMatch, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(5)) QtCore.QObject.connect(self.ui.Console_Players1, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(6)) QtCore.QObject.connect(self.ui.Console_Players2, QtCore.SIGNAL('clicked()'), lambda: self.ProcessCommand(7)) #Schedule Signals QtCore.QObject.connect(self.ui.Schedule_Add, QtCore.SIGNAL('clicked()'), self.AddRundown) QtCore.QObject.connect(self.ui.Schedule_Remove, QtCore.SIGNAL('clicked()'), self.Schedule_Remove) # Event Signals QtCore.QObject.connect(self.ui.UpdateEvents, QtCore.SIGNAL('clicked()'), self.UpdateEvents) self.ui.actionReload_Client.triggered.connect(self.LoadSettings) self.ui.actionQuit.triggered.connect(self.Quit) # Load Primary Settings (First load) self.LoadSettings() self.clocktimer = QtCore.QTimer(self) self.clocktimer.timeout.connect(self.showTime) self.clocktimer.start(1000) self.showTime() self.ModifyRundown = RundownDialog(self) escg = QtSql.QSqlDatabase.addDatabase("QMYSQL") escg.setHostName("eknowles.com") escg.setDatabaseName("admin_escg") escg.setUserName("admin_escg") escg.setPassword("p4e9@;FImZ8[") escg.open() self.eventsmodel = QtSql.QSqlRelationalTableModel(self.ui.Event_Table) self.eventsmodel.setTable("events") self.eventsmodel.setRelation(7, QtSql.QSqlRelation("games", "id", "name")) self.eventsmodel.setRelation( 6, QtSql.QSqlRelation("players", "id", "handle")) self.eventsmodel.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("")) self.eventsmodel.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Name")) self.eventsmodel.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("Start")) self.eventsmodel.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("End")) self.eventsmodel.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Location")) self.eventsmodel.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Shortname")) self.eventsmodel.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant("Added By")) self.eventsmodel.setHeaderData(7, QtCore.Qt.Horizontal, QtCore.QVariant("Game")) self.eventsmodel.select() self.ui.Event_Table.setModel(self.eventsmodel) self.ui.Event_Table.setColumnHidden(0, 1) self.ui.Event_Table.setColumnWidth(0, 30) self.ui.Event_Table.setAlternatingRowColors(True) self.ui.Event_Table.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.ui.Event_Table.horizontalHeader().setStretchLastSection(True) self.ui.Event_Table.verticalHeader().setVisible(False) self.TeamsTableModel = QtSql.QSqlRelationalTableModel( self.ui.Teams_Table) self.TeamsTableModel.setTable("teams") self.TeamsTableModel.setRelation( 7, QtSql.QSqlRelation("players", "id", "handle")) self.TeamsTableModel.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("")) self.TeamsTableModel.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("")) self.TeamsTableModel.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("Team Name")) self.TeamsTableModel.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("Tag")) self.TeamsTableModel.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Short Tag")) self.TeamsTableModel.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Website")) self.TeamsTableModel.setSort(1, 0) # Sorting by Col 1 and 0 for AAA self.TeamsTableModel.select() self.ui.Teams_Table.setModel(self.TeamsTableModel) self.ui.Teams_Table.setColumnHidden(0, 1) self.ui.Teams_Table.setColumnHidden(4, 1) self.ui.Teams_Table.setColumnHidden(6, 1) self.ui.Teams_Table.setColumnHidden(7, 1) self.ui.Teams_Table.setColumnWidth(0, 30) self.ui.Teams_Table.setColumnWidth(1, 30) self.ui.Teams_Table.setAlternatingRowColors(True) self.ui.Teams_Table.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.ui.Teams_Table.horizontalHeader().setStretchLastSection(True) self.ui.Teams_Table.verticalHeader().setVisible(False) self.PlayersTableModel = QtSql.QSqlRelationalTableModel( self.ui.Players_Table) self.PlayersTableModel.setTable("players") self.PlayersTableModel.setRelation( 8, QtSql.QSqlRelation("games", "id", "shortname")) self.PlayersTableModel.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("ID")) self.PlayersTableModel.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Handle")) self.PlayersTableModel.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("First Name")) self.PlayersTableModel.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("Last Name")) self.PlayersTableModel.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Date of Birth")) self.PlayersTableModel.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Country")) self.PlayersTableModel.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant("Twitter")) self.PlayersTableModel.setHeaderData(8, QtCore.Qt.Horizontal, QtCore.QVariant("Game")) self.PlayersTableModel.setSort(1, 0) # Sorting by Col 1 and 0 for AAA self.PlayersTableModel.select() self.ui.Players_Table.setModel(self.PlayersTableModel) self.ui.Players_Table.setColumnHidden(0, 1) self.ui.Players_Table.setColumnHidden(7, 1) self.ui.Players_Table.setColumnHidden(9, 1) self.ui.Players_Table.setColumnHidden(10, 1) self.ui.Players_Table.setColumnHidden(11, 1) self.ui.Players_Table.setColumnHidden(12, 1) self.ui.Players_Table.setColumnHidden(13, 1) self.ui.Players_Table.setColumnHidden(14, 1) self.ui.Players_Table.setColumnHidden(15, 1) self.ui.Players_Table.setAlternatingRowColors(True) self.ui.Players_Table.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.ui.Players_Table.horizontalHeader().setStretchLastSection(True) self.ui.Players_Table.verticalHeader().setVisible(False) self.RundownModel = QtSql.QSqlRelationalTableModel( self.ui.Schedule_Table) self.RundownModel.setTable("rundown") self.RundownModel.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("")) self.RundownModel.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Title")) self.RundownModel.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("Team 1")) self.RundownModel.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant("Team 2")) self.RundownModel.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Start Time")) self.RundownModel.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant("Game")) self.RundownModel.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant("Event")) self.RundownModel.setHeaderData(7, QtCore.Qt.Horizontal, QtCore.QVariant("Channel")) self.RundownModel.setHeaderData(8, QtCore.Qt.Horizontal, QtCore.QVariant("Status")) self.RundownModel.setRelation( 5, QtSql.QSqlRelation("games", "id", "shortname")) self.RundownModel.setRelation( 2, QtSql.QSqlRelation("teams", "id", "name")) self.RundownModel.setRelation( 3, QtSql.QSqlRelation("teams", "id", "name")) self.RundownModel.setRelation( 6, QtSql.QSqlRelation("events", "id", "name")) self.RundownModel.setSort(1, 0) # Sorting by Col 1 and 0 for AAA self.RundownModel.select() self.ui.Schedule_Table.setModel(self.RundownModel) self.ui.Schedule_Table.setColumnHidden(0, 1) self.ui.Schedule_Table.setColumnWidth(0, 30) self.ui.Schedule_Table.setColumnWidth(1, 300) self.ui.Schedule_Table.setColumnWidth(5, 60) self.ui.Schedule_Table.setColumnWidth(4, 128) self.ui.Schedule_Table.setColumnWidth(7, 60) self.ui.Schedule_Table.setAlternatingRowColors(True) self.ui.Schedule_Table.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.ui.Schedule_Table.horizontalHeader().setStretchLastSection(True) self.ui.Schedule_Table.verticalHeader().setVisible(False) self.UpdateEvents()