美文网首页
2019-08-15

2019-08-15

作者: Vychod | 来源:发表于2019-08-15 17:27 被阅读0次

表格设计

self.TableWidget.verticalHeader().setVisible(False)#行号消失
self.TableWidget.setEditTriggers(QTableView.NoEditTriggers)#不可编辑
self.TableWidget.setShowGrid(False)#不显示格子之间的竖分界线
        
self.TableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)#自适应宽度
self.TableWidget.horizontalHeader().setVisible(False)#列标签消失
self.TableWidget.setSelectionBehavior(QAbstractItemView.SelectItems)#设置只能选中单元格
self.TableWidget.setStyleSheet("QTableWidget::item:selected { background-color: rgb(111,111,111) }")#设置选中颜色
self.TableWidget.setItemDelegate(new.NoFocusDelegate())#取消边框虚线
self.TableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)#按行选中
self.TableWidget.resizeColumnsToContents()#行自适应高度
self.TableWidget.resizeRowsToContents()#列自适应宽度
self.TableWidget.verticalHeader(connect(self.VerSectionClicked))#表头单击信号
self.TableWidget.horizontalHeader(connect(self.HorSectionClicked))#表头单击信号

pyqtslot

self.TableWidget.setObjectName("TableWidget")

QtCore.QMetaObject.connectSlotsByName(self)

@pyqtSlot(int, int, int, int)
    def on_TableWidget_currentCellChanged(self, currentRow, currentColumn, previousRow, previousColumn): ...
@pyqtSlot(int, int)
    def on_TableWidget_cellClicked(self, row, column): ...

多线程

class MainUi(QWidget):
    def __init__(self):
        super(MainUi, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("事件管理")
        self.resize(width, height)

    def update_item_data(self):
        """更新内容"""
         pass

class UpdateData(QThread):
    """更新数据类"""
    update_date = pyqtSignal(str)  # pyqt5 支持python3的str,没有Qstring

    def run(self):
        cnt = 0
        while True:
            cnt += 1
            self.update_date.emit(str(cnt))  # 发射信号
            time.sleep(1)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    gui = MainUi()

    # 启动更新线程
    update_data_thread = UpdateData()
    update_data_thread.update_date.connect(gui.update_item_data)  # 链接信号
    update_data_thread.start()


    gui.show()
    sys.exit(app.exec_())

相关文章

网友评论

      本文标题:2019-08-15

      本文链接:https://www.haomeiwen.com/subject/tblajctx.html