PyQt4 ShowHMDB show sqlite3 with QTableWidget summary

             PyQt4 ShowHMDB show sqlite3 with QTableWidget summary
Source Code: https://github.com/zengjfgit/Python
1. QDialog固定窗口大小:
    self.setFixedHeight(self.height())
    self.setFixedWidth(self.width())
2. QDialog设置窗口无问号:
    self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint)
3. QFileDialog获取数据库文件路径:
    path = QFileDialog.getOpenFileName( self, "Select Files", ".", "*.db" )
    if ( QFileInfo(path).completeSuffix().compare("db") == 0 ) :
        self.ui.dbPath.setText(path)
    elif ( path.compare("") == 0 ) :
        self.ui.dbPath.setText("")
    else :
        QMessageBox.about(self, "Mesg","Please open DB file with .db suffix. ")
4. ShowHMDB主要使用了QTableWidget进行Sqlite数据数据显示。
5. 设置QTableWidget列宽的方法,这里采用硬编码(罪过):
    self.ui.dbData.setColumnWidth(0, 83)
6. 处理按钮信号,槽函数一定不要打括号:
    self.ui.getPath.clicked.connect(self.getHMDBPath)
7. 清除QTableWidget中数据:
    self.ui.dbData.clearContents()
    self.ui.dbData.setRowCount(0)
8. QTableWidget中的列宽是随时设置的,并不是一成不变的,这样可以解决无数据的时候
    列宽和有数据时列宽不一致的问题:
9. sqlite3库并不含hasnext()这样的方法,至少目前未找到更好的方法,所以这里采用这种
    方式获取数据:
    current = cursor.fetchone()
    while ( current ) :
        ......
        current = cursor.fetchone()
10. 获取数据库中具有record记录总数:
    cursor.execute(‘select count(*) from HardwareManager‘)
    hmDBRecord = cursor.fetchone()[0]
11. 在往QTableWidget中加入Item之前,一定要row的计数器,否则插入的Item显示不出来,
    这也是为什么需要去先查询数据库中总的record的总数的原因:
    self.ui.dbData.setRowCount(hmDBRecord)
12. QTableWidgetItem传入的是QString,如果直接给current[0],代表的数字对应的字符
    所以这里需要QString.number(current[0])进行转换:
    id = QTableWidgetItem(QString.number(current[0]))
13. QTableWidgetItem内部文字对其方式设置如下:
    id.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
时间: 2024-10-09 23:46:00

PyQt4 ShowHMDB show sqlite3 with QTableWidget summary的相关文章

pyqt QTableWidget例子学习(重点)

# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from PyQt4.Qt import * from PyQt4.QtCore import * lista = ['aa', 'ab', 'ac'] listb = ['ba', 'bb', 'bc'] listc = ['ca', 'cb', 'cc'] mystruct = {'A':lista, 'B':

qt model/view 架构基础介绍之QTableWidget

# -*- coding: utf-8 -*- # python:2.x #说明:QTreeWidget用于展示树型结构,也就是层次结构同前面说的 QListWidget 类似,这个类需要同另外一个辅助类 # QTreeWidgetItem 一起使用.不过,既然是提供方面的封装类,即便是看上去很复杂的树, # 在使用这个类的时候也是显得比较简单的 __author__ = 'Administrator' from PyQt4.QtGui import  * from PyQt4.Qt impor

PyQt4 HardwareManager

# PyQt4 HardwareManager # 声明: # 本软件主要是由于朋友说想要一个产品缺陷记录软件,主要用于记录产品缺陷, # 通过产品序列号进行插入.查询,本来想用VC++ 6.0做,但是每次打开开发环境就 # 奔溃了,所以只能换一个开发环境,于是尝试用PyQt4进行原型开发,在开发过程中 # 发现,这确实是一个很好的思路,该软件可以换一种思路用于其他环境下,但就 # 目前而已,这仅仅是一个原型. # # 2015-10-23 晴 深圳 南山平山村 曾剑锋 \\\\\\\\\\\\

QTableWidget查找指定项(由github处学习到)

from PyQt4 import QtGui, QtCore class Window(QtGui.QWidget): def __init__(self, rows, columns): QtGui.QWidget.__init__(self) self.table = QtGui.QTableWidget(self) self.table.setRowCount(rows) self.table.setColumnCount(columns) for column in range(col

【转载】pyqt QTableWidget的使用,实现table输出

转载地址: http://blog.sina.com.cn/s/blog_9b78c91101019sgi.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid. 说到QTableWidget,就必须讲一下它跟QTabelView的区别了.QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使

sy【QTableWidget】【操作单元格控件】

from PyQt4 import QtGui,QtCore class Test(QtGui.QWidget): def __init__(self,items,parent=None): self.app=QtGui.QApplication([]) super(Test,self).__init__(parent) self.setGeometry(200,100,200,300) self.tw=QtGui.QTableWidget(len(items),1,self) self.tw.

ListConfirm【QTableWidget】【表单确认GUI】

#coding=gbk from PyQt4 import QtGui,QtCore #------------------------------------------------------------------- #ListConfirm提供一个对列表项进行应答或确认的GUI接口 #------------------------------------------------------------------- class ListConfirm(QtGui.QWidget): u

QtDesigner PyQt4 Python

本文讲述用QtDesigner创建GUI,通过PyQt4转化为可执行的Python文件 1. QtDesigner创建一个GUI后会生成一个 .ui文件 (eg: TestUI.ui) 2. 通过命令 Python pyuic.py -o TestUI.py TestUI.ui 生成我们需要的py文件(TestUI.py) 3. 创建一个 Test.py 文件,编辑以下代码: 1 import sys 2 from PyQt4.QtGui import * 3 from PyQt4.QtCore

MacOSX 10.10 Pyqt4&Eric4

Step summary: 1. Install Qt4 2. Build and install sip 3. Build and install QScintilla2 4. Build and install PyQt4 5. Build and install QScintilla2 Python bindings 6. Install eric4 #option, i use the pycharm 0. QT http://qt-project.org/downloads qt-op