在我的PyQt GUI中,我有一些包含一些文本的相对较短(readOnly)的QLineEdits。由于包含的文本比小部件本身长,因此只能显示其中的一部分。 QLineEdit小部件通常显示最后一部分(默认情况下):
如图所示,我希望文本的第一部分可见(默认情况下)。我该怎么做?
我在下面添加了一些代码,以帮助您快速设置测试用例。只需将代码复制粘贴到*.py
文件中,然后运行它,就可以在窗口中获得QLineEdit。
import sys
import os
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
'''================================================================================'''
'''| CUSTOM MAIN WINDOW |'''
'''================================================================================'''
class CustomMainWindow(QMainWindow):
def __init__(self):
super(CustomMainWindow, self).__init__()
# -------------------------------- #
# Window setup #
# -------------------------------- #
# 1. Define the geometry of the main window
# ------------------------------------------
self.setGeometry(100, 100, 800, 200)
self.setWindowTitle("QLineEdit test")
# 2. Create frame and layout
# ---------------------------
self.__frm = QFrame(self)
self.__frm.setStyleSheet("QWidget { background-color: #ffffff }")
self.__lyt = QVBoxLayout()
self.__lyt.setAlignment(Qt.AlignTop)
self.__frm.setLayout(self.__lyt)
self.setCentralWidget(self.__frm)
# 3. Create QLineEdit
# -------------------
self.__myQLineEdit = QLineEdit("This is a very long line")
self.__myQLineEdit.setFixedWidth(100)
self.__myQLineEdit.setReadOnly(True)
self.__lyt.addWidget(self.__myQLineEdit)
self.show()
'''=== end Class ==='''
if __name__ == '__main__':
app = QApplication(sys.argv)
QApplication.setStyle(QStyleFactory.create('Fusion'))
myGUI = CustomMainWindow()
sys.exit(app.exec_())
''''''
最后但并非最不重要的是,我想描述我的系统的完整性:
答案 0 :(得分:1)
您可以在各种事件上设置光标位置,例如当行编辑窗口小部件失去焦点时:
Buffer underflow
以及可能的其他事件,例如选择更改时,如果需要。