看见你的帖子 请教QT中QTextBrowser控件的用法 http:zhidao.baidu.comquestion291810412.html

看见你的帖子 请教QT中QTextBrowser控件的用法 http:zhidao.baidu.comquestion291810412.html,第1张

其实实现起来也不是很复杂,主要是自append一段文字之后,记录下来这一次append的block的行数,既然你知道了位置,选择或删除的话就容易了,贴一段代码供参考:

static int lastBlockCount = 0//最后一次文本总行数

int iCount = ui.chat_edit->document()->blockCount()//当前插入之后的总行数

m_msgLines.push(iCount-lastBlockCount)//m_msgLines是一个队列,保存当前插入字符行数

lastBlockCount = iCount

//超过阀值,删除10条

if (m_msgLines.size()>100)

{

int iLines = 0

for (int i=0i<10i++)

{

iLines += m_msgLines.front()

m_msgLines.pop()

}

QTextCursor cs=ui.chat_edit->textCursor()

cs.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor)

cs.movePosition(QTextCursor::NextBlock,QTextCursor::KeepAnchor, iLines)

cs.removeSelectedText()

lastBlockCount -= iLines

}

使用最简单的语句导入UI界面:

在PyQt5中,可以使用QMainWindow类作为主窗口,并使用Qt Designer创建的UI文件来初始化主窗口。具体步骤如下:

------------------------------------------------------------

from PyQt5 import QtWidgets, uic

class MainWindow(QtWidgets.QMainWindow):

def __init__(self):

super().__init__()

# 通过uic.loadUi()函数加载UI文件

uic.loadUi('your_ui_file.ui', self)

if __name__ == '__main__':

app = QtWidgets.QApplication([])

window = MainWindow()

window.show()

app.exec_()

-----------------------------------------------------------

这里的your_ui_file.ui指的是您使用Qt Designer创建的UI文件名,可以根据实际情况修改。

连接UI中的按钮到一个函数,并将结果显示到QTextBrowser:

在Qt中,可以通过信号和槽机制来连接按钮点击事件到相应的函数。具体步骤如下:

-------------------------------------------------------

from PyQt5 import QtWidgets, uic

class MainWindow(QtWidgets.QMainWindow):

def __init__(self):

super().__init__()

# 通过uic.loadUi()函数加载UI文件

uic.loadUi('your_ui_file.ui', self)

# 连接按钮的clicked信号到相应的函数

self.test.clicked.connect(self.printest)

def printest(self):

# 打印结果

print('Test button clicked')

# 在QTextBrowser中显示结果

self.info.append('Test button clicked')

if __name__ == '__main__':

app = QtWidgets.QApplication([])

window = MainWindow()

window.show()

app.exec_()

-------------------------------------------------

这里的test指的是您在Qt Designer中创建的按钮的名称,printest指的是您要连接到按钮的函数的名称,info指的是您在Qt Designer中创建的QTextBrowser的名称。在函数printest中,使用self.info.append()语句将打印结果添加到QTextBrowser中显示。

希望这些代码可以帮助您实现您的UI界面。

该控件可以显示纯文本内容,以及带html标签的网页内容。因此要实现你要的效果非常容易,纯文本的字符串换行只需要添加\n即可,而html用<br>标签即可。举个例子

ui->textBrowser->setText("hello\nworld")

ui->textBrowser->setText("<span>hello<br>world<\span>")

上面这两行代码都可以实现换行,具体效果你自己可以试一试。

这问题很简单,百度一下就有,要学会独立解决问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11235138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存