QTableWidget设置滚动条、列宽可调

这篇博客探讨了如何在Qt界面中显示并控制表格的滚动条以及调整列宽。通过设置`ScrollBarAlwaysOn`确保横轴和纵轴滚动条始终可见,使用`setStretchLastSection(true)`实现表格最后一列自适应填充,而`setSectionResizeMode(QHeaderView::Stretch)`则允许用户手动调整列宽。这些技巧对于创建用户友好的数据展示界面至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//显示横轴的进度条
ui->tableWidget_GenMeasure->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
//显示纵轴的进度条
ui->tableWidget_GenMeasure->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);

//仅有这行代码,表格最后的空白消失,且列宽可调
ui->tableWidget_GenMeasure->horizontalHeader()->setStretchLastSection(true);


//注释掉上行代码,以下代码可以让列宽不可调,但可以让表格适配视口,所有的列都可以直接看到
ui->tableWidget_GenMeasure->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

显示滚动条、调节列宽

### 使用 Playwright 进行请求拦截的示例 以下是基于提供的参考资料以及专业知识构建的一个完整的 Playwright 请求拦截示例: #### 初始化浏览器并配置页面 为了实现请求拦截功能,首先需要初始化一个浏览器实例,并创建一个新的页面。可以通过 `playwright.chromium.launch()` 方法启动 Chromium 浏览器,并设置 `headless=False` 参数以便于调试。 ```python from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) page = browser.new_page() ``` 上述代码片段展示了如何启动浏览器并打开新页面[^2]。 #### 设置自定义拦截器 通过调用 `page.route()` 方法可以注册一个拦截器函数,用于匹配特定 URL 或路径模式下的网络请求。以下是一个简单的拦截逻辑,它会捕获所有包含 `"example.com"` 的请求,并对其进行处理。 ```python def handle_request(route, request): url = request.url if "example.com" in url: print(f"Intercepted Request: {url}") # 可在此处修改请求或响应数据 route.continue_() # 继续发送原始请求 else: route.continue_() page.route("**/*", handle_request) ``` 此代码实现了对指定条件下的请求进行拦截的功能。如果满足条件,则打印该请求的 URL;如果不满足条件或者无需特殊处理,则直接调用 `route.continue_()` 来放行请求。 #### 执行目标操作 一旦设置了路由规则之后,就可以正常导航到所需的网站地址了。这里演示了一个基本的例子——访问某个具体的网页链接。 ```python page.goto("https://www.example.com/") ``` 这一步骤完成了实际的目标站点加载过程。 #### 关闭资源释放内存 最后,在所有的任务完成后记得关闭浏览器以节省系统资源。 ```python browser.close() ``` 以上就是整个流程的核心部分。 --- ### 处理失败请求的日志记录 除了常规的请求拦截外,还可以针对那些未能成功完成的 HTTP 调用来维护一份专门的日志表。例如,当某些 API 接口返回状态码不是 2xx 系时,可将其加入名为 `failedRequests` 数组之中,并附加额外的信息字段如时间戳、关联步骤描述等辅助排查问题所在位置[^1]。 ```javascript const failedRequests = []; // 假设这是 JavaScript 版本中的错误收集机制 page.on('requestfailed', (req) => { const stepInfo = '第一个测试用例'; // 动态替换为当前运行阶段名称 console.error(`Failed ${stepInfo} at`, new Date(), req.failure().errorText); failedRequests.push({ timestamp: new Date(), url: req.url(), failureReason: req.failure()?.errorText, relatedStep: stepInfo }); }); ``` 注意这里是伪代码形式展示概念思路而非 Python 实现版本。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值