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>")
上面这两行代码都可以实现换行,具体效果你自己可以试一试。
这问题很简单,百度一下就有,要学会独立解决问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)