代码之家  ›  专栏  ›  技术社区  ›  Olivier Girardot

使用qsqltablemodel(或不使用qsqltablemodel)将pyqt4-qtableview与sqlachemy一起使用

  •  4
  • Olivier Girardot  · 技术社区  · 14 年前

    我开始学习python的qt,在阅读本文之后我想知道: qt - pyqt QTableView not populating when changing databases. 如果有一种方法可以使用sqlachemy会话,而不是(重新)使用qt的qtableview小部件将数据库连接作为表模型打开。

    有点像这样的东西:

    databasePath = "base.sqlite" # used for production
    
    engine = create_engine('sqlite:///' + databasePath, echo=True)
    
    # initializing session :
    Session = sessionmaker(bind=engine)
    session = Session()
    
    # Set up the user interface from Designer.
    self.setupUi(self)
    
    self.model = QSqlTableModel(self)
    self.model.setTable("records")
    
    self.model.setSort(FILEORDER, Qt.AscendingOrder)
    
    self.model.setHeaderData(ID, Qt.Horizontal, QVariant("ID"))
    self.model.setHeaderData(NAME, Qt.Horizontal, QVariant("Name"))
    self.model.select()
    
    self.tableView.setModel(self.model)
    

    任何帮助都将非常感谢,以及思考这个问题的新方法。

    谢谢你

    1 回复  |  直到 14 年前
        1
  •  5
  •   Maxim Popravko    14 年前

    看一看 Camelot . 它的作用更大:)

    当Q*视图和Q*模型经验产生的沮丧和焦虑迫使我开始在sqlAlchemy的基础上实现自己的模型时,我很高兴地发现了它。当我找到这个工具的时候,它已经实现了一半,这比我想象的要多得多,与qsqrelationaltablemodel斗争。