首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户2442861的专栏

    sizeHint() minimumSizeHint() sizePolicy() 的使用

    c=article&a=read&id=24889 Qt 中的 sizeHint 属性,sizeHint() 如何使用? 属性的值,而这个值由 sizeHint() 函数来确定。 现在只需知道 sizeHint() 会返回一个被推荐的尺寸。那么这个尺寸的取值是怎样的呢? /-1 , –1 输出结果中第二行:sizeHint() 返回的是一个无效的 QSize,因为 widget 没有布局。 可以伸展和收缩,不过sizeHint() 的返回值规定了 widget 能缩小到的最小尺寸,同时它比 Preferred 更具优势去获取额外空间 QSizePolicy::Ignored 忽略 sizeHint

    2.7K10发布于 2018-09-20
  • 来自专栏全栈测试技术

    PyQt5-Qt Designer中控件的尺寸相关设置(sizePolicy策略)

    );大部分控件,sizeHint是只读属性;拖两个按钮和文本控件,如下:图片保存为test011_sizeHint.ui,并转为test011_sizeHint.py:# -*- coding: utf -8 -*-# Form implementation generated from reading ui file 'test011_sizeHint.ui'## Created by: PyQt5 代码中加入如下,分别获取三个控件的期望尺寸:self.控件.sizeHint().height()self.控件.sizeHint().width()获取textEdit期望尺寸:图片图片print(f "获取控件textEdit的期望尺寸的高度:{self.textEdit.sizeHint().height()}")print(f"获取控件textEdit的期望尺寸的宽度:{self.textEdit.sizeHint self.pushButton_2.sizeHint().width()}")test011_sizeHint.py修改后如下:# -*- coding: utf-8 -*-# Form implementation

    4.9K50编辑于 2023-10-09
  • 来自专栏码客

    Qt开发-QT Widgets

    一些常用值的含义: Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。 Minimum:控件的sizeHint为控件的最小尺寸。 控件不能小于这个sizeHint,但是可以放大。 Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。 Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小。 Expandint:控件可以自行增大或者缩小。 注:sizeHint(布局管理中的控件默认尺寸,如果控件不在布局管理中就为无效的值) 加载UI的两种方式 方式1 转成代码后加载 UI文件转Python代码 pyside2-uic form.ui -o

    2.6K50发布于 2021-11-10
  • 来自专栏花狗在Qt

    qt 如何设计好布局和漂亮的界面。

    属性说明 值 说明 Fixed 0 固定值策略: Qwidget.sizeHint()对应的缺省大小就是部件的固定不变大小,因此部件不能放大也不能缩小。 Perferred GrowFlag|ShrinkFlag 首选项策略: Qwidget sizeHint()对应的缺省大小是最佳效果,部件允许放大或缩小,但不建议扩展比sizeHint()大,该策略是缺省策略 Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。 ?Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。 ? Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。 ?Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小。 ? MinimumExpanding:控件的sizeHint是它的sizeHint,但是可以使用额外的空间,也就是它会尽可能得到更多的空间。 ?

    12.4K41发布于 2020-10-28
  • 来自专栏Pou光明

    Qt Model_View教程之Delegate

    为了简化功能,填充的五角星并没有可编辑的能力,而我们只需要重新实现QStyledItemDelegate类中的paint和sizeHint方法即可。 QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE; QSize sizeHint QModelIndex &index) const Q_DECL_OVERRIDE; }; paint通过原始数据的内容来绘制五角星,数据的获取与之前的Model类似,使用index.data();sizeHint StarRating starRating = qvariant_cast<StarRating>(index.data()); return starRating.sizeHint (); } else { return QStyledItemDelegate::sizeHint(option, index); } } 只有当index.data

    1.7K10发布于 2020-02-18
  • 来自专栏AIoT技术交流、分享

    Python Qt GUI设计:窗口布局管理方法(基础篇—4)

    介绍sizePolicy属性之前,需要先讲讲sizeHint和minisizeHint属性。 每个窗口控件都有属于自己的两个尺寸:一个是sizeHint属性(尺寸提示),它是窗口控件的期望尺寸;另一个是minimumSize属性(最小尺寸),它是窗口控件压缩时所能够被压缩到的最小尺寸。 :窗口控件的sizeHint所提示的尺寸就是它的最小尺寸;该窗口控件不能被压缩得比这个值小,但可以变得更大; Maximum:窗口控件的sizeHint所提示的尺寸就是它的最大尺寸;该窗口控件不能变得比这个值大 sizeHint所提示的尺寸还要大; Expanding :窗口控件可以缩小到minisizeHint所提示的尺寸,也可以变得比sizeHint所提示的尺寸大,但它希望能够变得更大; MinimumExpanding :窗口控件的sizeHint所提示的尺寸就是它的最小尺寸;该窗口控件不能被压缩得比这个值还小,但它希望能够变得更大; lgnored:无视窗口控件的sizeHint和minisizeHint所提示的尺寸

    2.6K40发布于 2021-09-23
  • 来自专栏python3

    【Qt学习笔记】3.布局

    在QSizePolicy类中定义了七种策略: Fixed:使用sizeHint,不能更大,不能更小 Minimum:不能小于sizeHint,可以更大,但不需要更大 Maximum:不得大于sizeHint ,可以更小 Preferred:优先使用sizeHint,可大可小 Expanding:使用sizeHint,越大越好 MinimumExpanding:不得小于sizeHint,越大越好 Ignored :忽略sizeHint,越大越好 SizePolicy的几个相关的函数: //获取当前的policy QSizePolicy QWidget::sizePolicy() const; //设置新的policy : 表示窗口的推荐大小 注意这个大小仅仅是推荐大小而不是最终大小 最终的实际大小是由布局器(QLayout)通过行为方式(SizePolicy)决定的 SizeHint的相关函数: //向布局器声明自己需要的空间大小 (推荐的尺寸) virtual QSize sizeHint() const; (2)横向布局: H:Horizontal,水平方向上的 在横向布局中,高度信息被忽略,只关心它的宽度,其他要注意的同上

    1.7K10发布于 2020-01-08
  • 来自专栏程序那些事儿

    Pyqt5 关于流式布局和滚动条的综合使用

    effective_rect.x() y = y + line_height + space_y next_x = x + item.sizeHint line_height = 0 if not test_only: item.setGeometry(QRect(QPoint(x, y), item.sizeHint ())) x = next_x line_height = max(line_height, item.sizeHint().height()) 滚动条的设置 effective_rect.x() y = y + line_height + space_y next_x = x + item.sizeHint ())) x = next_x line_height = max(line_height, item.sizeHint().height())

    2.1K10编辑于 2023-03-07
  • 来自专栏python3

    【Python】Python读写文件操作

    在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。 以下面的代码为例: file = open('test.log', 'r') sizehint = 209715200   # 200M position = 0 lines = file.readlines (sizehint) 每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。 通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。 file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。

    99110发布于 2020-01-14
  • 来自专栏python3

    python 中目录、文件

    在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。 以下面的代码为例: file = open('test.log', 'r')sizehint = 209715200   # 200Mposition = 0lines = file.readlines (sizehint) 每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。 通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。 file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。

    2K10发布于 2020-01-10
  • 来自专栏用户2442861的专栏

    初步学习Qt布局

    所有widgets将根据它们的 QWidget::sizePolicy() and QWidget::sizeHint()首先分配一些空间。 2. 即便实现了QWidget::heightForWidth(),也有必要提供合理的sizeHint()。 进一步了解,参见:Trading Height for Width. 这个可以通过将问题控件作为子类来解决,并实现合适的sizeHint()和minimumSizeHint()函数。 在一些情况下,当布局被添加到widget时需要特别注意。 l setGeometry(),描述如何完成布局 l sizeHint(),布局的首选大小 l itemAt(),描述如何递归布局 l takeAt(),描述如何移除布局中的元素。 调用QLayoutItem::sizeHint()等的代价比较大。在通过函数中,需要再次使用,最好将结果保存在本地变量中。

    8.2K10发布于 2018-09-20
  • 来自专栏防止网络攻击

    Qt开发实现字幕滚动效果

    void setText(const QString& newText); QString text() const { return myText; } QSize sizeHint( Ticker::setText(const QString &newText) { myText = newText; update(); updateGeometry(); } 3.sizeHint 函数 sizeHint()函数返回文本所需的空间大小,并以此作为窗口部件的理想尺寸。 QSize Ticker::sizeHint() const { return fontMetrics().size(0, text()); } 4.paintEvent事件 paintEvent

    1.6K20编辑于 2023-10-14
  • 来自专栏python3

    PyQt PySide QListWid

    self.myQListWidget) 54 # Set size hint 55 myQListWidgetItem.setSizeHint(myQCustomQWidget.sizeHint 把 QListWidgetItem 的 sizeHint 设置为 QWidget 的 sizeHint(如果不设置,看不到 QWidget) 6.

    1.1K40发布于 2020-01-19
  • 来自专栏全栈程序员必看

    python读写、创建文件、文件夹等等

    在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。 sizehint)while not file.tell() - position < 0: position = file.tel1() lines = file.readlines(sizehint ) 每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点( 除最后一次调用 readlines(sizehint) 函数的时候)。 通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。 file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。

    1.8K20编辑于 2022-08-23
  • 来自专栏TomatoCool

    PyQT5基本功能

    This is a QWidget widget') # 创建一个按钮 btn = QPushButton('Button', self) # 设置大小,btn.sizeHint ()为默认大小 btn.resize(btn.sizeHint()) # 设置坐标,以父元素左上角为原点 btn.move(50, 50) # 鼠标悬停在按钮,显示提示框 def initUI(self): # 创建按钮 qbtn = QPushButton('Quit', self) # 按钮初始化 qbtn.resize(qbtn.sizeHint

    68410编辑于 2023-07-30
  • 来自专栏ReganYue's Blog

    Go-Excelize API源码阅读(二十七)——SetRowOutlineLevel、SetColOutlineLevel

    xlsxWorksheet, col int, row int) { ws.Lock() defer ws.Unlock() rowCount := len(ws.SheetData.Row) sizeHint ws.SheetFormatPr.CustomHeight { ht = ws.SheetFormatPr.DefaultRowHeight customHeight = true } if rowCount > 0 { sizeHint append(ws.SheetData.Row, xlsxRow{R: rowIdx + 1, CustomHeight: customHeight, Ht: ht, C: make([]xlsxC, 0, sizeHint

    60020编辑于 2022-10-25
  • 来自专栏编码视界

    PySide6 GUI 编程(43):自定义 QWidget

    self.setSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.MinimumExpanding) def sizeHint (self) -> QSize: # 当布局管理器计算控件的大小时,它会首先检查控件的最小大小 # 如果最小大小大于 sizeHint 返回的建议大小,布局管理器将使用最小大小 self.setSizePolicy(QSizePolicy.Policy.MinimumExpanding, QSizePolicy.Policy.MinimumExpanding) def sizeHint (self) -> QSize: # 当布局管理器计算控件的大小时,它会首先检查控件的最小大小 # 如果最小大小大于 sizeHint 返回的建议大小,布局管理器将使用最小大小

    1.4K66编辑于 2024-09-16
  • 来自专栏测试邦

    PyQt+SQLite构建一个简单的账号管理GUI程序

    # 将垂直布局添加到groupbox中 group.setLayout(group_layout) group.setFixedSize(group.sizeHint 设置这个对话框的布局 self.dialog.setLayout(dialog_layout) self.dialog.setFixedSize(self.dialog.sizeHint group_layout.addWidget(item) group.setLayout(group_layout) group.setFixedSize(group.sizeHint (button_layout) delDialog.setLayout(dialog_layout) delDialog.setFixedSize(delDialog.sizeHint

    4.3K32发布于 2019-10-21
  • 来自专栏Harper的碎碎念

    Effective Qt

    Q_OBJECT 宏 槽(信号)的定义没有写在 slots(signals) 下边 connect 的时候写错了槽(信号)的名字或者参数 adjustSize()、updateGeometry()以及sizeHint 这个时候你可以选择拿到控件的 QLayout 然后循环对每个布局调用 QLayout::invalidate() ;在比较特殊的情况下你可以选择用 setFixedSize(sizeHint()) 这种奇怪的调用代替循环

    1.1K50发布于 2021-07-27
  • 来自专栏全栈程序员必看

    QTreeview custom

    rect.width(), rect.height()/2), opt.displayAlignment, line1); } QSize sizeHint & option, const QModelIndex & index ) const { QSize result = QStyledItemDelegate::sizeHint delegating everything to QStyle The cool thing is that this delegate uses the QStyle to determine the sizeHint

    99830编辑于 2022-08-31
领券