【QT控件大小自适应窗口变化】

2023-11-09

问题:刚开始学习QT时,在窗口中放置一个个控件,而后运行程序。会发现改变窗口大小时,控件大小不随窗口大小变化而变化,导致窗口大小变化没意义,同时也让精心布局看起来很难看。

本文提供一种使用BoxLayout中放置控件,所有可见控件能够随窗口大小变化同比例变化的方法。

主要思想:在窗口中首先放置BoxLayout控件,再在BoxLayout控件中放置可视的控件。

一、基本框架:一个什么都没有的窗口。

​# -*- coding: utf-8 -*-
# Created by colburn
# Email: bjay@qq.com

import sys
from PyQt5.QtWidgets import *

class Example(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Example Window')
        self.show()

def main():
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

二、放入一个水平布局(还是什么都没有)

在以上代码基础上,只列出改变部分,不变部分就不写了

    def initUI(self):
        self.centralwidget = Q
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【QT控件大小自适应窗口变化】 的相关文章

  • 我可以同时打开两个 Tkinter Windows 吗?

    可以同时打开2个窗口吗 import tkinter as Tk import random import math root Tk Tk canvas Tk Canvas root background image Tk PhotoIma
  • 获取字符串模板中所有标识符列表的函数(Python)

    对于标准库string template在Python中 有没有一个函数可以获取所有标识符的列表 例如 使用以下 xml 文件
  • 在多核上运行 python 线程

    我知道Python 2 7不允许在不同的内核上运行多个线程 你需要使用multiprocessing模块以实现某种程度的并发性 我正在看concurrent futuresPython 3 4 中的模块 是否使用ThreadPoolExec
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • 使用 Youtube .net API 上传视频并将其设置为不公开

    net 的 Youtube API 似乎有一段时间没有更新了 因此 没有公开的属性或方法可以将视频设置为不列出 如果有人以前遇到过这个问题 可以建议解决方法吗 我也很难弄清楚这一点 所以我想我会将我的发现发布给任何寻求此问题答案的人 As
  • lmfit模型拟合然后预测

    我正在领养lmfit进行曲线拟合并使用拟合模型进行预测 然而下面的代码并没有达到我想要的效果 能否请你帮忙 谢谢 import numpy as np from lmfit import Model def linearModel x a0
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • 使用 Python-VLC 的 PyInstaller:无属性“media_player_new”错误

    我使用 Python VLC 创建视频播放器 并使用 PyInstaller 在 Windows 10 计算机上生成可执行文件 最初 它给了我错误 Import Error Failed to load dynlib dll libvlc
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • 使用 QSet 作为 Qt 地图容器中的键

    我需要一个映射 其中键是唯一的 并且每个键都是一组或自定义 POD 结构 其中包含 3 个数据项 这些值只是指向对象实例的指针 从阅读Qt 的 QMap 与 QHash 的文档 http qt project org doc qt 4 8
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • 在字符串内打印单引号

    我想输出 XYZ s ABC 我在Python IDLE中尝试了以下3条语句 第一条和第二条语句输出 a before 带打印功能的第三条语句不输出 before 作为 Python 新手 我想了解为什么 之前输出 在第 1 条和第 2 条
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • AspNetCore.SignalR:无法启动未处于初始状态的连接

    我无法让 ASP NET Core SignalR 应用程序正常运行 我有这个服务器端代码 public class PopcornHub Hub private int Users public async Task BroadcastN
  • 从存储过程返回 int 值并在 ASP.NET 代码中检查它以验证登录表单

    当我多次尝试但没有得到有效结果时 使此代码运行的真实顺序是什么 SQL存储过程的代码 set ANSI NULLS ON set QUOTED IDENTIFIER ON GO ALTER PROC dbo login proc usern
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 领域驱动设计示例(特别是 .NET 重点)

    好的 我已经订购了 但是当我等待它到达时 我正在考虑开始在我当前的项目中应用这些技术 我现在确实很好地掌握了这些概念 但是当我尝试应用它们时 我陷入了执行过程中 最终在各个项目中漏掉了我的职责 因此 我正在寻找可以引导我走向正确方向的资源
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X

随机推荐

  • Shell编程规范及变量

    目录 一 Shell脚本编程概述 1 1Shell的作用 1 1 1Shell基本概念 1 1 2Shell脚本应用场景 1 1 3Shell作用 翻译官 1 1 4linux中有哪些Shell 1 1 4 为什么系统上合法的Shel1要写
  • 用于创建此对象的程序是 Equation。您的计算机尚未安装此程序或此程序无响应。 若要编辑此对象,请安装 Equation或确保 Equation中的任何对话框都已关闭

    用于创建此对象的程序是 Equation 您的计算机尚未安装此程序或此程序无响应 若要编辑此对象 请安装 Equation或确保 Equation中的任何对话框都已关闭 一 问题描述 在Word中打开公式编辑器mathtype时出现 用于创
  • Distcc

    由于通过google git提取的android源代码没有配置分布式编译 需要借助一些工具搭建一个分布式编译环境来提升android编译速度 下面的步骤是在centos 5 2上进行的 我们可以参考一下 1 安装distcc RPM包 rp
  • impala/spark/hive/presto常见的命令汇总

    1 impala spark常见的命令汇总 常见命令 impala spark sql create语句 CREATE TABLE IF NOT EXISTS my db student name STRING age INT contac
  • #pragma once 是什么意思?

    和头文件中用 ifndef A H define A H Here is code endif 效果类似 包含pragma once语句的文件只会被编译一次 表示在编译的时候 这个文件只被包含 include 一次 这样 可以减少整个编译过
  • PHP框架的基本原理以及选择标准

    PHP框架的原理 说到PHP框架 可能很多PHP新手会感到有些胆怯 其实 PHP框架也不是那么深不可测的 框架就是别人使用PHP基础只是为你写好了的东西 只是封装在一起 这就好比我们使用PHP的函数 函数都是已近写好了的 我们只要按照函数使
  • 图解LeetCode——1812. 判断国际象棋棋盘中一个格子的颜色(难度:简单)

    一 题目 给你一个坐标 coordinates 它是一个字符串 表示国际象棋棋盘中一个格子的坐标 下图是国际象棋棋盘示意图 如果所给格子的颜色是白色 请你返回 true 如果是黑色 请返回 false 给定坐标一定代表国际象棋棋盘上一个存在
  • C/C++

    文章目录 常见面试题目讲解 宏定义 数据声明 类型修饰符的使用总结 位操作 访问固定内存位置 参考 麦子学院 嵌入式C语言高级 C语言函数的使用 常见面试题目讲解 参考 嵌入式程序员应该知道的0x10个基本问题 常见面试题目讲解 宏定义 1
  • Java设计模式——装饰者模式

    装饰者模式 一 概述 装饰者模式 装饰器模式 是一种结构型模式 定义 在不改变现有对象结构的情况下 动态地给该对象增加一些额外职责 功能 的模式 装饰者 Decorator 模式中的角色 抽象构件 Component 角色 定义一个抽象接口
  • 7-44 求整数的位数及各位数字之和

    对于给定的正整数N 求它的位数及其各位数字之和 输入格式 输入在一行中给出一个不超过109的正整数N 输出格式 在一行中输出N的位数及其各位数字之和 中间用一个空格隔开 输入样例 321 输出样例 3 6 include
  • Tomcat流程图分析

    org apache catalina startup Bootstrap 启动类 初始化步骤 从server开始到service connector 后实现了lifecycle 接口 bootstrape init gt catelina
  • Protobuf下载和编译

    系列导航 一 Protobuf下载和编译 二 Protobuf在Java中的简单使用 一 简介 protobuf全称Google Protocol Buffers 是google开发的的一套用于数据存储 网络通信时用于协议编解码的工具库 是
  • C#中导出百万级Excel只需几秒除了NPOI还可以这样

    场景 Winform中通过NPOI导出Excel的三种方式 HSSFWorkbook XSSFWorkbook SXSSFWorkbook 附代码下载 https blog csdn net BADAO LIUMANG QIZHI arti
  • 剪格子 蓝桥杯 211

    题目描述 如下图所示 3 x 3 的格子中填写了一些整数 我们沿着图中的红色线剪开 得到两个部分 每个部分的数字和都是 60 本题的要求就是请你编程判定 对给定的 m n 的格子中的整数 是否可以分割为两个部分 使得这两个区域的数字和相等
  • com.alibaba.fastjson.JSONArray cannot be cast to com.alibaba.fastjson.JSONObject

    json中类型转换问题 是错误的格式 例 JSONObject parseObject type slider show true start 1 end 100 正确的写法 JSONObject dataZoom new JSONObje
  • C# 委托(delegate)

    1 什么是委托 委托是一种引用类型 它是函数指针的托管版本 在C 中 委托是一种可以把引用存储为函数的类型 委托可以引用实例和静态方法 而函数指针只能引用静态方法 委托的声明非常类似于函数 和函数不同的的是委托不带函数体 并且需要Deleg
  • 初识Spring Boot

    目录 一 Spring Boot是什么 二 创建Spring Boot项目 1 使用IDEA创建 2 网页版创建 三 运行项目 一 Spring Boot是什么 简单来说Spring Boot就是Spring的 脚手架 就是一个框架 Spr
  • nodejs libuv学习

    读了一下libuv源代码 简单记录一些见解 https github com libuv libuv libev就是一个基于epoll封装事件的函数库 自身不带有线程池等操作 而libuv则是在libev基础上 加上线程操作的功能 大体运作
  • Java中Array.sort()的几种用法

    转载https www tuicool com articles iii6N3 Java的Arrays类中有一个sort 方法 该方法是Arrays类的静态方法 在需要对数组进行排序时 非常的好用 但是sort 的参数有好几种 下面我就为大
  • 【QT控件大小自适应窗口变化】

    问题 刚开始学习QT时 在窗口中放置一个个控件 而后运行程序 会发现改变窗口大小时 控件大小不随窗口大小变化而变化 导致窗口大小变化没意义 同时也让精心布局看起来很难看 本文提供一种使用BoxLayout中放置控件 所有可见控件能够随窗口大