当前位置: 首页 > news >正文

go网站开发深圳坪山网站建设

go网站开发,深圳坪山网站建设,聚美优品,石家庄市市政建设总公司网站目录 1、Table Widget 1.QTableWidget不能在mainwindow中随主窗口的大小变化#xff1f; 2.将表格变为禁止编辑#xff1a; 3.设置表格为整行选择 4.单个选中和多个选中的设置#xff1a; 5.表格表头的显示与隐藏 6.对表头文字的字体、颜色进行设置 7.在单元格里加入…目录 1、Table Widget 1.QTableWidget不能在mainwindow中随主窗口的大小变化 2.将表格变为禁止编辑 3.设置表格为整行选择 4.单个选中和多个选中的设置 5.表格表头的显示与隐藏 6.对表头文字的字体、颜色进行设置 7.在单元格里加入控件 8.单元格中添加图片 9设置单元格字体颜色、背景颜色和字体字符 10.设置单元格内文字的对齐方式 11.合并单元格 12.设置单元格的大小 13.获得单击单元格的内容 14.QTableWidget要调整表格行宽主要涉及以下函数 15.添加表头内容 2、Table View 可用的模式有以下几个 3、Table View与Widget的区别 在PyQt5上基于纯代码创建的表格TableWidget PyQt5中有两种创建表格的控件Table View和Table Widget。 1、Table Widget QTableWidget是QT程序中常用的显示数据表格的空间很类似于VC、C#中的DataGrid。 pyqt5的tablewidget组件比较特殊每个方格可以装载其他组件来搭配实现不同的效果所以在qtdesigner上找不到可视化直接设置mask或者其他可以限制填入单元格的设置。 self.MyTable QTableWidget(4,3) #创建表格 self.MyTable.setHorizontalHeaderLabels([‘姓名’,’身高’,’体重’]) #设置表头 参考资料 [1] pyqt中tablewidget的使用 https://blog.csdn.net/yafwang/article/details/52754217 [2] 朝闻道 的《QTableWidget的用法总结》 https://www.cnblogs.com/findumars/p/5553367.html [3] pyqt5 tablewidget 单元格设置正则表达式 https://blog.csdn.net/qq965194745/article/details/78910469 [4] Pyqt5系列(十)-QtWidget的使用 https://blog.csdn.net/zhulove86/article/details/52599738 1.QTableWidget不能在mainwindow中随主窗口的大小变化 解决在表格外部添加布局。 代码tableWidget new QTableWidget; 2.将表格变为禁止编辑 tableWidget-setEditTriggers(QAbstractItemView::NoEditTriggers); 3.设置表格为整行选择 tableWidget-setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中的方式 4.单个选中和多个选中的设置 tableWidget-setSelectionMode(QAbstractItemView::ExtendedSelection); //设置为可以选中多个目标 QAbstractItemView.ExtendedSelection/QAbstractItemView.ContiguousSelection 的区别不明显主要功能是正常情况下是单选但按下Ctrl或Shift键后可以多选 5.表格表头的显示与隐藏 对于水平或垂直方法的表头可以用以下方式进行 隐藏/显示 的设置 tableWidget.verticalHeader().setVisible(false); //隐藏列表头 tableWidget.horizontalHeader().setVisible(false); //隐藏行表头 6.对表头文字的字体、颜色进行设置 QTableWidgetItem *columnHeaderItem0 tableWidget-horizontalHeaderItem(0); //获得水平方向表头的Item对象 columnHeaderItem0-setFont(QFont(“Helvetica”)); //设置字体 columnHeaderItem0-setBackgroundColor(QColor(0,60,10)); //设置单元格背景颜色 columnHeaderItem0-setTextColor(QColor(200,111,30)); //设置文字颜色 7.在单元格里加入控件 QComboBox *comBox new QComboBox(); comBox-addItem(“Y”); comBox-addItem(“N”); tableWidget-setCellWidget(0,2,comBox); 8.单元格中添加图片 tableWidget-setItem(row, 0, new QTableWidgetItem(QIcon(“:/new/images/kingdemo.ico”),tr(“”))); 9设置单元格字体颜色、背景颜色和字体字符 QTableWidgetItem *item new QTableWidgetItem(“Apple”); item-setBackgroundColor(QColor(0,60,10)); item-setTextColor(QColor(200,111,100)); item-setFont(QFont(“Helvetica”)); tableWidget-setItem(0,3,item); 另如果需要对所有的单元格都使用这种字体则可以使用 tableWidget-setFont(QFont(“Helvetica”)); 10.设置单元格内文字的对齐方式 水平对齐方式有 Constant Value Description Qt.AlignLeft 0x0001 Aligns with the left edge. Qt.AlignRight 0x0002 Aligns with the right edge. Qt.AlignHCenter 0x0004 Centers horizontally in the available space. Qt.AlignJustify 0x0008 Justifies the text in the available space. 垂直对齐方式 Constant Value Description Qt.AlignTop 0x0020 Aligns with the top. Qt.AlignBottom 0x0040 Aligns with the bottom. Qt.AlignVCenter 0x0080 Centers vertically in the available space. 如果两种都要设置只要用 Qt.AlignHCenter | Qt.AlignVCenter 的方式即可 11.合并单元格 tableWidget-setSpan(0, 0, 3, 1) # 其参数为 要改变单元格的1行数、2列数要合并的3行数、4列数 12.设置单元格的大小 首先可以指定某个行或者列的大小 tableWidget-setColumnWidth(3,200); tableWidget-setRowHeight(3,60); 还可以将行和列的大小设为与内容相匹配 tableWidget-resizeColumnsToContents(); tableWidget-resizeRowsToContents(); 13.获得单击单元格的内容 通过实现 itemClicked (QTableWidgetItem *) 信号的槽函数就可以获得鼠标单击到的单元格指针进而获得其中的文字信息 connect(tableWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this,SLOT(getItem(QTreeWidgetItem*,int))); //将itemClicked信号与函数getItem绑定 14.QTableWidget要调整表格行宽主要涉及以下函数 tableWidget-horizontalHeader()-setResizeMode(QHeaderView::Stretch);//使列完全填充并平分 tableWidget-verticalHeader()-setResizeMode(QHeaderView::Stretch);//行自适应宽度 tableWidget-resizeColumnsToContents(); //根据内容调整列宽 tableWidget-resizeColumnToContents(int col);//根据内容自动调整给定列宽 tableWidget-horizontalHeader()-setResizeMode//把给定列设置为给定模式 主要模式有Stretch和Fixed 15.添加表头内容 方法一 QStringList header; header”“ 2、Table View qtableview这个控件可以绑定一个模型数据用来更新控件上的内容 可用的模式有以下几个 // QStringListModel 存储一组字符串 // QStandardItemModel 存储任意层次结构的数据 // QDirModel 对文件系统进行封装 // QSqlQueryModel 对SQL的查询结果集进行封装 // QSqlTableModel 对SQL中的table进行封装 // QSqlRelationalTableModel 对带有foreign key的SQL table进行封装 // QSortFilterProxyModel 对另一个model执行sort and/or filter 可参考资料https://www.zhaokeli.com/article/7986.html 3、Table View与Widget的区别 QTableWidget是QTableView的子类主要区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源)而QTableWidget则只能使用标准的数据模型并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数而到了QTableWidget类中该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格正个表格都需要用逐个单元格构建起来。 QTableWidget只能使用标准模式 QTableView可以使用自定义模式。 在PyQt5上基于纯代码创建的表格TableWidget 下面代码有部分函数有问题主要是PyQt4与PyQt5的属性和方法差异导致。 #-*-coding:utf-8-*-from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import sys import time#基于Table Widget控件的表格 class MyTable(QTableWidget):def __init__(self,parentNone):super(MyTable,self).__init__(parent)self.setWindowTitle(第一个表格创建实验)self.setWindowIcon(QIcon(a1.png))self.resize(800,500) #设置表格尺寸#1:创建初始表格self.setColumnCount(5)self.setRowCount(5)#self.setShowGrid(False) #是否需要显示网格self.settableHeader()self.inputcelldata()self.settableSelectMode()#self.settableHeaderFontColor()#self.setCellFontColor()# self.setCellAlign()# self.setCellFontSize()# self.setCellFontColor()#self.setCellSpan()self.addRowColumn()# layout QHBoxLayout()# layout.addWidget(MyTable)# self.setLayout(layout)#1:设置表格单元格尺寸def settableSize(self):首先可以指定某个行或者列的大小self.MyTable.setColumnWidth(2,50) #将第2列的单元格设置成50宽度self.MyTable.setRowHeight(2,60) #将第2行的单元格设置成60的高度还可以将行和列的大小设为与内容相匹配self.MyTable.resizeColumnsToContents() #将列调整到跟内容大小相匹配self.MyTable.resizeRowsToContents() #将行大小调整到跟内容的大学相匹配:return:self.setColumnWidth(0,50)self.setColumnWidth(3, 50)#self.setRowHeight(0,500)#1.2 设置表格的行和列的大小与输入内容相匹配self.resizeColumnsToContents()self.resizeRowsToContents()#2设置表格的表头名称def settableHeader(self):#columnname [A,B,C,D,E]columnname [姓名, 性别, 年龄, 身高, 照片]#rowname [a,b,c,d,e]self.setHorizontalHeaderLabels(columnname)#self.setVerticalHeaderLabels(rowname)#3:给表格输入初始化数据def settableInitData(self):for i in range(5):for j in range(5):#1)直接在表格中添加数据self.setItem(i,j,QTableWidgetItem(str(i)str(j)))#2在表格的单元格中加入控件comBox QComboBox()comBox.addItem(男)comBox.addItem(女)self.setCellWidget(i,j,comBox)def inputcelldata(self): #输入数据self.setItem(0,0,QTableWidgetItem(张三))#self.setItem(0,1,男)comBox QComboBox()comBox.addItem(男)comBox.addItem(女)self.setCellWidget(0, 1, comBox)self.setItem(0,2,QTableWidgetItem(str(25)))self.setItem(0,3,QTableWidgetItem(str(160.85)))在单元格里加入控件QComboBoxdef addwidgettocell(self):comBox QComboBox()comBox.addItem(男)comBox.addItem(女)self.setCellWidget(0, 1, comBox)#4:表格的其他相关属性设置设置表格是否可编辑def settableEditTrigger(self):使用格式说明在默认情况下表格里的字符是可以更改的比如双击一个单元格就可以修改原来的内容如果想禁止用户的这种操作让这个表格对用户只读可以这样QAbstractItemView.NoEditTriggers和QAbstractItemView.EditTrigger枚举中的一个都是触发修改单元格内容的条件QAbstractItemView.NoEditTriggers 0 No editing possible. 不能对表格内容进行修改QAbstractItemView.CurrentChanged 1 Editing start whenever current item changes.任何时候都能对单元格修改QAbstractItemView.DoubleClicked 2 Editing starts when an item is double clicked.双击单元格QAbstractItemView.SelectedClicked 4 Editing starts when clicking on an already selected item.单击已选中的内容QAbstractItemView.EditKeyPressed 8 Editing starts when the platform edit key has been pressed over an item.QAbstractItemView.AnyKeyPressed 16 Editing starts when any key is pressed over an item.按下任意键就能修改QAbstractItemView.AllEditTriggers 31 Editing starts for all above actions.以上条件全包括self.setEditTriggers(QAbstractItemView.NoEditTriggers)设置表格为整行选择def settableSelect(self):QAbstractItemView.SelectionBehavior枚举还有如下类型Constant Value DescriptionQAbstractItemView.SelectItems 0 Selecting single items.选中单个单元格QAbstractItemView.SelectRows 1 Selecting only rows.选中一行QAbstractItemView.SelectColumns 2 Selecting only columns.选中一列self.setSelectionBehavior(QAbstractItemView.SelectRows)单个选中和多个选中的设置def settableSelectMode(self):setSelectionMode(QAbstractItemView.ExtendedSelection) #设置为可以选中多个目标该函数的参数还可以是QAbstractItemView.NoSelection 不能选择QAbstractItemView.SingleSelection 选中单个目标QAbstractItemView.MultiSelection 选中多个目标QAbstractItemView.ExtendedSelection和ContiguousSelection的区别不明显要功能是正常情况下是单选但按下Ctrl或Shift键后可以多选:return:self.setSelectionMode(QAbstractItemView.ExtendedSelection)表头显示与隐藏def settableHeaderVisible(self):对于水平或垂直方法的表头可以用以下方式进行 隐藏/显示 的设置self.MyTable.verticalHeader().setVisible(False)self.MyTable.horizontalHeader().setVisible(False)# 4.3 隐藏表头self.verticalHeader().setVisible(False)self.horizontalHeader().setVisible(False)对表头文字的字体、颜色进行设置def settableHeaderFontColor(self):PyQt5中没有如下设置背景颜色和字体颜色函数headItem.setBackgroundColor(QColor(c)) # 设置单元格背景颜色headItem.setTextColor(QColor(200, 111, 30)) # 设置文字颜色:return:有设置字体颜色headItem.setForeground(QBrush(Qt.red))headItem.setForeground(QBrush(QColor(128,255,0)))f, ok QFontDialog.getFont()for x in range(self.columnCount()):headItem self.horizontalHeaderItem(x) # 获得水平方向表头的Item对象#headItem.setFont(QFont(song,12,QFont.Bold))if ok:headItem.setFont(f) # 设置字体#设置表头字体颜色#headItem.setForeground(QBrush(Qt.red))headItem.setForeground(QBrush(QColor(128,255,0)))headItem.setTextAlignment(Qt.AlignLeft)def settableproperty(self):# 4.2 选中表格中的某一行self.setSelectionBehavior(QAbstractItemView.SelectRows)动态插入行列 def addRowColumn(self):当初始的行数或者列数不能满足需要的时候我们需要动态的调整表格的大小如入动态的插入行insertColumn()动态插入列。insertRow(int)、insertColumn(int)指定位置插入行或者列rowcount self.rowCount()self.insertRow(rowcount)动态移除行列 def removeRowColumn(self):removeColumn(int column) 移除column列及其内容。removeRow(int row)移除第row行及其内容。:return:rowcount self.rowCount()self.removeRow(rowcount-1)#第2部分对单元格的进行设置1.单元格设置字体颜色和背景颜色2.设置单元格中的字体和字符大小3.设置单元格内文字的对齐方式4.合并单元格效果的实现5.设置单元格的大小(见settableSize()函数)6 单元格Flag的实现def setCellFontColor(self):newItem self.item(0,1)newItem.setBackground(Qt.red)#newItem.setBackground(QColor(0, 250, 10))#newItem.(QColor(200, 111, 100))def setCellFontSize(self):首先先生成一个字体QFont对象并将其字体设为宋体大小设为12并且加粗再利用单元格的QTableWidgetItem类中的setFont加载给特定的单元格。如果需要对所有的单元格都使用这种字体则可以使用self.MyTable.setFont(testFont)#利用QTableWidget类中的setFont成员函数将所有的单元格都设成该字体:return:textFont QFont(song, 12, QFont.Bold)newItem QTableWidgetItem(张三)# newItem.setBackgroundColor(QColor(0,60,10))# newItem.setTextColor(QColor(200,111,100))newItem.setFont(textFont)self.setItem(0, 0, newItem)def setCellAlign(self):这个比较简单使用newItem.setTextAlignment()函数即可该函数的参数为单元格内的对齐方式和字符输入顺序是自左相右还是自右向左。水平对齐方式有Constant Value DescriptionQt.AlignLeft 0x0001 Aligns with the left edge.Qt.AlignRight 0x0002 Aligns with the right edge.Qt.AlignHCenter 0x0004 Centers horizontally in the available space.Qt.AlignJustify 0x0008 Justifies the text in the available space.垂直对齐方式Constant Value DescriptionQt.AlignTop 0x0020 Aligns with the top.Qt.AlignBottom 0x0040 Aligns with the bottom.Qt.AlignVCenter 0x0080 Centers vertically in the available space.如果两种都要设置只要用 Qt.AlignHCenter | Qt.AlignVCenter 的方式即可:return:newItem QTableWidgetItem(张三)newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)self.setItem(0, 0, newItem)def setCellSpan(self):self.MyTable.setSpan(0, 0, 3, 1)# 其参数为 要改变单元格的 1行数 2列数要合并的 3行数 4列数:return:self.setSpan(0,0,3,1)def update_item_data(self, data):更新内容self.setItem(0, 0, QTableWidgetItem(data)) # 设置表格内容(行 列) 文字class UpdateData(QThread):更新数据类update_datepyqtSignal(str)def run(self):cnt0while True:cnt1self.update_date.emit(str(cnt))time.sleep(1)if __name__ __main__:# 实例化表格app QApplication(sys.argv)myTable MyTable()# 启动更新线程#update_data_thread UpdateData()# update_data_thread.update_date.connect(myTable.update_item_data) # 链接信号# update_data_thread.start()# 显示在屏幕中央# desktop QApplication.desktop() # 获取坐标# x (desktop.width() - myTable.width()) // 2# y (desktop.height() - myTable.height()) // 2# myTable.move(x, y) # 移动# 显示表格myTable.show()app.exit(app.exec_())
http://wiki.neutronadmin.com/news/431164/

相关文章:

  • 重庆网站建设排名收废品做网站怎么做
  • 制作免费制作个人网站怎么做网站开发哈尔滨网站开发公司电话
  • 做网站需要工具品牌网站设计制作公司地址
  • 做包装盒效果图的网站域名是什么样子的
  • 为企业提供网站建设服务怎么做app下载网站
  • 门户网站首页设计删除自豪地采用wordpress
  • 做网站有哪些需求it外包人员最后什么下场
  • 旅游类网站设计重庆市工程招标信息网
  • 凡科做网站给后台的吗wordpress 改登录界面
  • 软件开发可以做网站么软件开发步骤包括哪些
  • 个人网页制作源代码格式seo整站优化方法
  • 一个域名绑定多个网站正规的代加工平台
  • 建网站手续手机蓝牙app开发教程
  • 网站程可以自己做吗网站版本功能列表
  • 网站建设与管理实验安卓移动网站开发详解
  • 安全网站建设网站制作专门做ui图标的网站
  • 湖州网站建设企业能联系做仿瓷的网站
  • 对做网站有什么建议淘客网站开发公司
  • 江苏泰州海陵区建设局网站新开最好的传奇网站
  • 网站建设douyanet新闻类网站排版网站建设
  • 济南网站建设哪个好国内最好的旅游网站
  • 惠州惠城网站建设网站目录有什么意义
  • 域名注册成功后怎么使用网站wordpress短网址插件
  • asp网站 换模板网上服务旗舰店
  • 企业建站公司哪里找网站建设花都區
  • 网站工信部超链接怎么做建网站深
  • 做网站的公司在哪企业网站建设注意
  • 哪家网站游戏做的比较好的wordpress 加视频教程
  • 怎样创建网站快捷方式到桌面开一个网站建设公司需要什么软件
  • 建筑工程网校有哪些苏州seo门户网