2014-01-22 2 views
0
def viewrow(self): 
    with sqlite3.connect('database.db') as db: 
     cur = db.cursor()  
     cur.execute('select* from Values Order BY ValuesID ASC') 
     roww = [cn[0] for cn in cur.description] 
     tab = cur.fetchall() 
     for roww in tab: 
      tabb=("%2s %2s %2s %2s %2s" %(roww)) 
      print(tabb) 
      self.l124.setText(tabb) 

이것은 지금까지 데이터베이스를 나타 내기 위해 시도한 것입니다. 데이터 행을 인쇄하려고했습니다. 또한 QGridLayout 사용에 대해서도 생각해 보았습니다.내 GUI 내에서 파이썬으로 테이블 형식으로 SQL 데이터베이스를 표시하려면 어떻게해야합니까?

답변

0

QT-Framework에는 여러 가지 옵션이 있습니다 (기본 소개는 http://qt-project.org/doc/qt-4.8/modelview.html 참조). QTableView, QTreeView 등을 구현할 수 있습니다.

사용자 정의보기를 사용하려면 QT에서 다소 복잡한 모델 - 컨트롤러 - 뷰 패러다임을 처리해야합니다. 사전 정의 된 모델을 포함하는 더 단순한 추상화 (QTreeWidget 또는 그에 해당하는 QTableWidget)가 있으므로 Model-Controller-View 스택 전체를 신경 쓸 필요가 없으며 뷰를 돌보고 데이터를 다음으로 전달해야합니다. 그것. 그물에 유효한 몇몇 자습서가있다. 그러나 속도와 사용자 정의에 관해서는 맞춤 MCV 솔루션을 찾아야합니다.

참고 : 몇 가지 요구 사항을 제공하면 유용 할 것이므로 데이터베이스/행의 표현 방식을 선호합니까? 지금까지 뭐 했니? (필자는 PySide 예제를 사용했지만 PyQT 이름은 같아야합니다!)

+0

의견을 보내 주셔서 감사합니다! 내가 필요한 것은 x 개의 열과 편집 가능한 무제한 행입니다. 필자가 필요로하는 표현은 상대적으로 단순 할 것이며,보고 싶은 컬럼 내의 데이터는 단순한 테이블에 깔끔하게 정리되어 있으며, 이는 내 GUI 내에 배치 될 수 있습니다. 나는 Pyside의 모습을 좋아하지만 내가 만들려고 노력하는 프로그램에는 이것을 사용할 수 없다. Pyqt만으로도 비슷한 일을 할 수 있을까? 도와 주셔서 다시 한 번 감사드립니다! – Jurisdiction

+0

PyQT는 QT-Framework에 대한 또 다른 바인딩 일 수 있습니다. 간단한 예제는 [here] (http://www.codeprogress.com/python/libraries/pyqt/showPyQTExample.php?index=422&key=QSqlDatabaseConnecttoMySql)에서 찾을 수 있습니다. 이것은 QT 데이터베이스 레이어를 사용하지만, 그렇게하지 않아도되며 솔루션을 QTableWidget과 결합 할 수 있습니다. [PyQT-Documentation] (http://pyqt.sourceforge.net/Docs/PyQt4/qtablewidget.html#details)에서 자세한 내용을 확인하십시오. PySide를 사용하는 것이 더 좋지만, 더 잘 문서화되고 더 파이썬적인 방법입니다. – dorvak

+0

Brilliant! 고마워요! – Jurisdiction

관련 문제