gpt4 book ai didi

python - pyQt : Scolling QScrollArea Not Each QTextEdit Individually

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:21 25 4
gpt4 key购买 nike

有许多 QTextEdit 彼此相邻(我在其中有一个表子集 HTML)我不希望它们在溢出窗口空间时各自获得一个滚动条。

我希望窗口有一个全局滚动条。最佳做法是什么?

以代码为例:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import QCoreApplication, QRect, Qt

class MainWindow(QScrollArea):
def __init__(self):
super().__init__()

layout = QHBoxLayout(self)

text = ''
for i in range(0,1000):
text = '{0} {1}\n'.format(text, i)

for i in range(0,10):
textEdit = QTextEdit()
layout.addWidget(textEdit)
textEdit.setText(text)

self.resize(600,400)

self.show()

if __name__ == '__main__':

app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())

enter image description here

我可以在上面添加一个容器,它摆脱了滚动条,但是我根本无法滚动任何东西

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import QCoreApplication, QRect, Qt

class MainWindow(QScrollArea):
def __init__(self):
super().__init__()

container = QFrame(self)
container.resize(600,15000)

layout = QHBoxLayout(container)

text = ''
for i in range(0,1000):
text = '{0} {1}\n'.format(text, i)

for i in range(0,10):
textEdit = QTextEdit()
layout.addWidget(textEdit)
textEdit.setText(text)

self.resize(600,400)

self.show()

if __name__ == '__main__':

app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())

最佳答案

看起来你需要做的就是set the vertical scroll-bar policy在文本编辑上,然后是 add the container widget to the scroll-area :

class MainWindow(QScrollArea):
def __init__(self):
super().__init__()

container = QFrame(self)
container.resize(600,15000)

layout = QHBoxLayout(container)

text = ''
for i in range(0,1000):
text = '{0} {1}\n'.format(text, i)

for i in range(0,10):
textEdit = QTextEdit()
layout.addWidget(textEdit)
textEdit.setText(text)
textEdit.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

self.setWidget(container)

self.resize(625,400)

self.show()

关于python - pyQt : Scolling QScrollArea Not Each QTextEdit Individually,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com