问题描述:
在进行pyqt5窗口的设置时,对由于项目中需要将识别内容显示到文本框当中且按照每个识别内容一行行显示,此时则需要对文本框设置垂直和水平滚动条,对于本文出现的问题:设置垂直滚动条时不会出现无法显示的情况,但是设置水平滚动条时虽然设置为
ScrollBarAsNeeded
或者
ScrollBarAlwaysOn
,但是当一行文本内容超过后仍然无法显示。
问题原因:
对于这个问题,其实是pyqt5中对于
水平方向上的文本是软换行
,即当你向文本框中append内容的时候,文本框自动会
不按回车键就能自动换行
。
解决方法:
我们通过方法
setLineWrapMode(0),来设置换行模式
,当为该方法传递参数0时,我们可以发现水平滚动条起作用了,但此时换行必须强制换行。(这里无伤大雅,在append追加内容时就换了。)
下面即为解决此问题时设置的代码:
self.textBrowser = QtWidgets.QTextBrowser(MainWindow)
self.textBrowser.setGeometry(QtCore.QRect(902, 130, 240, 510))
self.textBrowser.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
self.textBrowser.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
self.textBrowser.setLineWrapMode(0)
self.textBrowser.setObjectName("textBrowser")
不设置换行模式时,即使使用AlwaysOn也无法一整行显示:
解决后的文本框内容显示:
在PyQt5中,QTextEdit是一个常用的文本编辑框控件,可以方便地实现富文本编辑等功能。在本文中,我们将向大家介绍如何使用Python语言实现QTextEdit控件,并简单演示其基本功能。PyQt5控件详解:文本编辑框QTextEdit的实现(Python)通过上述代码,我们可以实现一个简单的文本编辑器,并完成基本操作。
本文主要介绍PyQt5中文本框的其中,使用textbox.setText(string) 方法设置文本框内容,使用textbox.text() 获取文本框里面的内容。
QTextEdit类是一个多行文本框控件,可以显示多行文本内容,当文本内容超出控件显示范围时,可以显示水平个垂直滚动条,Qtextedit不仅可以用来显示文本还可以用来显示HTML文档
QTextEdit类中常用的方法
设置水平滚动条始终隐藏
设置设置垂直滚动条需要时出现
‘<>’为备注,实际代码中无<>符号,<>内是需要设置的对象
<self.A>.setHorizontalScro
QTreeWidget
————————————————
版权声明:本文为CSDN博主「WJsuperrunner」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/superrunner_wujin/article/details/104513810/...
程序的基本调用流程是,在一个业务处理线程中,通过调用QTextEdit::append()方法输出提示信息,从而引发程序崩溃。
程序运行时的错误提示如下:
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
经过进一步检查发现原因是Qt中带参数的信号如果在线程中被发送,那么必须放入队列里面。
目录一、界面卡死与多线程相关1、PyQt5中使用线程QThread和Thread进行耗时操作的问题2、pyqt5 的多线程(QThread)遇到的坑二、部件性能与展示相关1、QTextEdit、QTextBrowser添加的文字超出视图后,滑动条自动移至最底部显示最新文本的解决办法三、常用功能实现的代码技巧1、python定时程序(每隔一段时间执行指定函数)四、pycharm常见报错1、Pycharm报:Method ‘XXX’ may be ‘static‘ 的解决办法2、Pycharm报:This di
<br /><br />找了下,发现在QAbstractScrollArea里面有<br />void setHorizontalScrollBar ( QScrollBar * scrollBar )<br />void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy )<br />void setVerticalScrollBar ( QScrollBar * scrollBar )<br />void setVerticalScrollBarPol
pyqt5 多个tableWidget联动滚动
项目中遇到了一个需求:
开发时用到了三个tableWidget分别展示数据,但数据过多时三个表就显得比较杂乱,三表行之间无法同时滚动必然带来不好的体验,所以需要是三个tableWidget同时滚动;
先上code:
import sys
from PyQt5.QtCore import QEvent
from PyQt5.QtWidgets import (QWidget, QTableWidget, QHeaderView, QHBoxLayout, QA
我想基于tkinter创建一个GUI程序.其中一个小部件是Text.我想在其中添加一个水平滚动条,但它不起作用.我在哪里弄错了?from Tkinter import *import tkFontclass DpWin(object):def run(self):root=Tk()root.geometry('768x612')title='dp'root.title(title)xscrollb...