PyQt5_QLineEdit_光标使用

↘锁芯ラ 提交于 2020-02-03 20:44:48
from PyQt5.Qt import *

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('光标使用')
        self.resize(500, 500)
        self.iniUI()

    def iniUI(self):
        le = QLineEdit(self)
        le.resize(280, 50)
        le.setStyleSheet('font-size:40px')
        le.move((self.width() - le.width()) / 2, (self.height() - le.height()) / 2)
        btn = QPushButton(self)
        btn.setText('光标操作按钮')
        btn.resize(200,50)
        btn.move((self.width()-btn.width())/2,(self.height()-3*btn.height()))
        ##############################################

        #
        # 现在需求:
        #           文本框内光标的使用
        #
        # 解决方法:
        #           第一个布尔类型参数表示 是否自动选中 光标扫掠过的文本
        #           第二个参数表示每次光标移动的步数,单个文本宽度算作一步
        #           le.cursorBackward(True,1)
        #           le.cursorForward(True,1)
        #           le.cursorWordBackward(True,1)
        #           le.cursorWordForward(True,1)
        #           le.home()
        #           le.end()


        def cursor_btn():
            # le.cursorBackward(True, 1)#将光标向后移动一位,并且选中光标扫掠过的文字
            # le.cursorBackward(True,1)
            # le.cursorForward(True,1)
            # le.cursorWordBackward(True,1)#word之间使用空格来分隔
            # le.cursorWordForward(True,1)
            # le.home(False)#移动光标到最左边
            # le.end(True)#移动光标到最右边
            # le.setCursorPosition( len(le.text())/2 )#设置光标的位置
            # print(le.cursorPositionAt(QPoint(len(le.text())/2, 1000)))

            le.setFocus()             #获取焦点

        btn.clicked.connect(cursor_btn)

        #############################



        ##############################################文本框文本边距的设置
        #
        # 现在需求:
        #           设置文本框 文本边距
        #
        # 解决方法: 
        #           le.setTextMargins(left, up, right,down)

        #           le.getTextMargins(left, up, right,down)
        #
        le.setTextMargins(le.width()/4,le.height()/4,le.width()/4,le.height()/4)
        #############################文本框文本边距的设置


        ##############################################文本框文本位置的设置
        #
        # 现在需求:
        #           设置文本框内的文本 大致位置
        #
        # 解决方法: 
        #           le.setAlignment(Qt.AlignLeft)
        #           le.setAlignment(Qt.AlignRight)
        #           le.setAlignment(Qt.AlignHCenter)
        #           le.setAlignment(Qt.AlignTop)
        #           le.setAlignment(Qt.AlignBottom)
        #           le.setAlignment(Qt.AlignVCenter)

        #           le.setAlignment(Qt.AlignCenter)
        #
        
        # 设置文本位置为右下
        le.setAlignment(Qt.AlignBottom | Qt.AlignRight)
        #############################文本框文本位置地设置
        




if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    win = MyWindow()
    win.show()
    sys.exit(app.exec_())
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!