qtablewidget 实现浮动选择框_CSS 浮动

本文讨论了在QTableWidget中实现浮动选择框的CSS技巧,并探讨了浮动布局在现代网页设计中的地位。尽管Flexbox逐渐成为主流,但浮动布局对于支持旧浏览器和特定布局(如图片环绕文字)仍然重要。同时,介绍了块级格式化上下文(BFC)的概念,以及如何通过不同属性创建BFC,以避免元素重叠和外边距折叠问题。
摘要由CSDN通过智能技术生成

4fbfcef96e14f6053fb4e8650c4d56bc.png

双容器布局

通过将内容放置到两个嵌套的容器中,然后给内层的容器设置外边距,让它在外层容器中居中。

是否还有必要学习浮动 

Flexbox正在迅速取代浮动在页面布局中的地位。对新手开发人员而言,Flexbox的行为很直观,可预测性更好。

在现代浏览器中,不用浮动也能比过去更好地实现布局,甚至可以完全弃用浮动。但是如果要支持IE浏览器,现在放弃浮动还为时过早。只有IE10和IE11支持Flexbox,而且还有一些bug。如果不想碰到bug,或者需要支持旧版浏览器,浮动也许是更好的选择。

另外,如果你在支持旧代码库,它很可能用到了浮动布局。为了维护旧代码,也需要了解浮动的工作原理。还有一点,浮动布局通常不需要那么多的标记,新的布局方法则需要添加额外的容器元素。如果你写样式时不允许修改标记,浮动更能满足你的需求。

此外,要实现将图片移动到网页一侧,并且让文字围绕图片的效果,浮动仍然是唯一的方法。

BFC 

第一种 浮动布局

       

PyQt中的QTableWidget允许您自定义表头,包括添加复选。要实现标题栏设置checkbox选择,你可以按照以下步骤操作: 1. 创建QTableWidget实例,并设置列数: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidgetItem, QVBoxLayout, QWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QFont class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('QTableWidget with Checkbox') self.table = QTableWidget(self) self.init_table() def init_table(self): self.table.setColumnCount(4) self.table.setHorizontalHeaderLabels(['Checkbox', 'Column 1', 'Column 2', 'Column 3']) ``` 2. 在表头的第一列插入QTableWidgetItem作为复选: ```python checkbox_header = QTableWidgetItem() checkbox_header.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) # 设置可以被点击并切换状态 checkbox_header.setCheckState(Qt.Unchecked) # 初始状态为未选中 self.table.setHorizontalHeaderItem(0, checkbox_header) ``` 3. 通过连接信号处理程序来响应复选的选中/取消选中事件: ```python self.table.cellClicked.connect(self.cell_checkbox_clicked) def cell_checkbox_clicked(self, row, column): if column == 0: # 只有第一列是复选 if self.table.item(row, 0).checkState() == Qt.Checked: print(f"Row {row} is selected") else: print(f"Row {row} is deselected") ``` 4. 显示窗口: ```python app = QApplication([]) window = MyWindow() window.show() app.exec_() ``` 现在,你已经有了一个带有复选标题栏的QTableWidget,用户可以在每一行的第一列选择或取消选择
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值