python - 如何使用python在pyqt5中自动启用水平和垂直滚动条
问题描述
我是 PyQt5 和 Python 的新手,我的问题是如果用户在输入框的单行中输入更多数据,如何启用水平滚动条?
目前,如果您输入更多数据,它的输入框会启用垂直滚动条。
如果用户输入更多数据,谁能帮我解决如何同时启用水平和垂直滚动条?
当前的 Python 代码:
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtCore import QSize
from PyQt5.QtWidgets import *
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit, QFileDialog
from PyQt5.QtWidgets import QMainWindow, QApplication, QLabel
class MainWindow(QMainWindow, QWidget):
def __init__(self):
QMainWindow.__init__(self)
self.height = 480
self.width = 640
self.top = 10
self.left = 10
self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowMinimizeButtonHint)
self.setMinimumSize(QSize(800, 600))
self.setWindowTitle("My Windows")
# .... other Code here
# Edit Box
input_et_box = QFrame(self)
input_et_box.resize(300, 450)
input_et_box.move(50, 80)
layout = QHBoxLayout(input_et_box)
self.textEdit = QTextEdit(self)
layout.addWidget(self.textEdit)
# If we enter more data in Edit Box it will automatically enabled Vertical Scroll bar but Horizontal Scroll bar is not enabling automatically
# bar is not enabling
def printHello(self):
print("Hello")
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
layout = QGridLayout()
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())
快照:
解决方案
利用self.textEdit.setLineWrapMode(QTextEdit.FixedPixelWidth)
推荐阅读
- android - 如果在改造 2 中电子邮件或密码不正确,则得到空响应
- c - 如何在 C 中为启用了动态数据压缩的 UBIFS 文件系统检索正确的文件系统指标?
- c++ - 如何检测任何应用程序是否全屏或退出全屏?
- numpy - numpy.delete 中的 MemoryError
- apache-spark - sparkposeexplode 在列中失败
- r - 斯皮尔曼相关 R
- mysql - MySQL 数据库:如何为多个表编写 SQL
- c# - 不要逃避新行
- c# - asp.net (4.x) 和quartz.net (3.0.7.0)quartz_jobs.xml 在Global.asax Application_Start 中调度
- r - 如何使用ggplot2将轴标签保留在一侧,将轴标题保留在另一侧