QSize MyLineEdit::sizeHint() const return QSize(fontMetrics().horizontalAdvance(text()) + 35, 30); connect(this, &HPFolderLineEdit::textEdited, [ = ](){ setFixedSize(sizeHint());});QSize HPFolderLineEdit::sizeHint() const{ return QSize(fontMetrics().horizontalAdvance(text()) + 35, 30);}
之前用 Qt 做了个截图工具,最值得一写的就是在图片中添加 文字 时,如何让 QT ext Edit 自适应文本的宽高 值得参考的是这篇博客:https://blog.csdn.net/kaida1234/article/details/80094175 但也只是做到了 宽度 自适应,高度并没有这里的核心函数是void QT extDocument::adjustSize(),它他可以跟随文本的变动调整大小,然后通QSizeF QT extDocument::size()可以获取准确的文本尺寸,接着根据此尺寸调整编辑框的宽高,从而
当你的字体太大的时候需要QLable自适应调整QLable的高度,adjustSize就可以满足此要求,其他的控件也一样,比如QCheckBox,Q Line Edit 等控制自适应字体大小都可以使用adjustSize lable->adjustSize() //自动调整label的高度, 需要注意的是这个不是一次初始化后就可以用,而是在你更改字体后执行。 图 1 单行文本输入框 实际开发中,我们经常用到 Q Line Edit 输入框,比如接收用户输入的个人信息、账户信息、角色名称等,就可以用 Q Line Edit 实现。 Q Line Edit 单行输入框的创建 每个单行输入框都是 Q Line Edit 类的一个实例对象,Q Line Edit 类提供有两个构造函数,分别是: Q Line Edit (QWidget
要自定义Q Line Edit ()的 宽度 ,你可以使用setFixedWidth()函数来设置它的固定 宽度 ,或者使用setMinimumWidth()和setMaximumWidth()函数来设置它的最小和最大 宽度 。例如,下面是一个将Q Line Edit ()设置为固定 宽度 的示例代码: ```python from Py Qt5 . Qt Widgets import QApplication, QMainWindow, Q Line Edit class MyWidget(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self. line edit = Q Line Edit (self) self. line edit .setFixedWidth(200) # 设置固定 宽度 为200 if __name__ == '__main__': app = QApplication([]) widget = MyWidget() widget.show() app.exec_() 如果你想设置最小和最大 宽度 ,你可以使用setMinimumWidth()和setMaximumWidth()函数,如下所示: ```python self. line edit .setMinimumWidth(100) # 设置最小 宽度 为100 self. line edit .setMaximumWidth(300) # 设置最大 宽度 为300 希望这可以帮助你!