python类QLineEdit()的实例源码

chatter.py 文件源码 项目:networkzero 作者: tjguk 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self, name, parent=None):
        super(Chatter, self).__init__(parent)
        self.name = name

        self.text_panel = QtWidgets.QTextEdit()
        self.text_panel.setReadOnly(True)
        self.input = QtWidgets.QLineEdit()

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.text_panel, 3)
        layout.addWidget(self.input, 1)

        self.setLayout(layout)
        self.setWindowTitle("Chatter")

        self.input.editingFinished.connect(self.input_changed)
        self.input.setFocus()

        self.chattery = nw0.discover("chattery/news")
        self.responder = FeedbackReader(self.chattery)
        self.responder.message_received.connect(self.handle_response)
        self.responder.start()
part1.py 文件源码 项目:Mac-Python-3.X 作者: L1nwatch 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def __init__(self, parent=None):
        super(AddressBook, self).__init__(parent)

        nameLabel = QLabel("Name:")
        self.nameLine = QLineEdit()

        addressLabel = QLabel("Address:")
        self.addressText = QTextEdit()

        mainLayout = QGridLayout()
        mainLayout.addWidget(nameLabel, 0, 0)
        mainLayout.addWidget(self.nameLine, 0, 1)
        mainLayout.addWidget(addressLabel, 1, 0, Qt.AlignTop)
        mainLayout.addWidget(self.addressText, 1, 1)

        self.setLayout(mainLayout)
        self.setWindowTitle("Simple Address Book")
part1.py 文件源码 项目:examples 作者: pyqt 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, parent=None):
        super(AddressBook, self).__init__(parent)

        nameLabel = QLabel("Name:")
        self.nameLine = QLineEdit()

        addressLabel = QLabel("Address:")
        self.addressText = QTextEdit()

        mainLayout = QGridLayout()
        mainLayout.addWidget(nameLabel, 0, 0)
        mainLayout.addWidget(self.nameLine, 0, 1)
        mainLayout.addWidget(addressLabel, 1, 0, Qt.AlignTop)
        mainLayout.addWidget(self.addressText, 1, 1)

        self.setLayout(mainLayout)
        self.setWindowTitle("Simple Address Book")
fuzzer.py 文件源码 项目:pbtk 作者: marin-m 项目源码 文件源码 阅读 35 收藏 0 点赞 0 评论 0
def __init__(self, min_, max_, float_=False):
        super(QwordSpinBox, self).__init__()

        self._minimum = min_
        self._maximum = max_
        self.int_ = float if float_ else int

        rx = QRegExp('-?\d{0,20}(?:\.\d{0,20})?' if float_ else '-?\d{0,20}')
        validator = QRegExpValidator(rx, self)

        self._lineEdit = QLineEdit(self)
        self._lineEdit.setText(str(self.int_(0)))
        self._lineEdit.setValidator(validator)
        self._lineEdit.textEdited.connect(partial(self.setValue, change=False))
        self.editingFinished.connect(lambda: self.setValue(self.value(), update=False) or True)
        self.setLineEdit(self._lineEdit)
fuzzer.py 文件源码 项目:pbtk 作者: marin-m 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __init__(self, item, name, val, app):
        super().__init__(item, [name + '  '])
        self.name = name
        self.app = app
        self.required = '{%s}' % name in self.app.base_url

        if not self.required:
            self.setCheckState(0, Qt.Checked)
            self.last_check_state = Qt.Checked

        self.widget = QLineEdit()
        self.widget.setFrame(False)
        self.widget.setStyleSheet('padding: 1px 0')
        self.widget.textEdited.connect(self.value_changed)
        self.app.fuzzer.getTree.setItemWidget(self, 1, self.widget)

        self.widget.setText(val)
        self.value = val

        self.widget.setMouseTracking(True)
        self.widget.enterEvent = self.edit
GUI.py 文件源码 项目:coliform-project 作者: uprm-research-resto 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def createTopRightGroupBox(self):
        self.topRightGroupBox = QGroupBox('Heater')

        heatLabel = QLabel('Target Temperature(C):')
        heatEntry = QLineEdit()
        heatEntry.textChanged[str].connect(self.tempOnChanged)
        heatEntry.setText('41')

        self.heatButton = QPushButton('Heater ON')
        self.heatButton.clicked.connect(self.heaterPower)

        hbox1 = QHBoxLayout()
        hbox1.addWidget(heatLabel)
        hbox1.addWidget(heatEntry)

        hbox2 = QHBoxLayout()
        hbox2.addWidget(self.heatButton)

        layout = QVBoxLayout()
        layout.addLayout(hbox1)
        layout.addLayout(hbox2)
        layout.addStretch(1)
        self.topRightGroupBox.setLayout(layout)
fit_options.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def _layout(self):
        """
        Create layout.
        """

        self._main_layout = QW.QHBoxLayout(self)

        if self._input_type is bool:
            self._select_widget = QW.QCheckBox()
            self._select_widget.stateChanged.connect(self._bool_handler)
            self._select_widget.setChecked(self._initial_value)
        elif self._input_type is str:
            self._select_widget = QW.QLineEdit()
            self._select_widget.editingFinished.connect(self._str_handler)
            self._select_widget.setText(self._initial_value)
        elif self._input_type is int:
            self._select_widget = QW.QLineEdit()
            self._select_widget.editingFinished.connect(self._int_handler)
            self._select_widget.setText(str(self._initial_value))
        else:
            self._select_widget = QW.QLineEdit()
            self._select_widget.editingFinished.connect(self._general_handler)
            self._select_widget.setText(str(self._initial_value))

        self._main_layout.addWidget(self._select_widget)
fit_options.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def _str_handler(self):
        """
        Handler for string values. Parses QLineEdit.
        """

        current = self._select_widget.text()
        try:
            new_value = current.strip()
            if new_value == "":
                raise ValueError
            color = "#FFFFFF"
            self._current_value = new_value
            self._valid = True
        except ValueError:
            color = "#FFB6C1"
            self._valid = False

        self._select_widget.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))
fit_options.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _int_handler(self):
        """
        Handler for int values.  Parses QLineEdit.
        """
        current = self._select_widget.text()
        try:

            # Make sure this scans as a string 
            if type(ast.literal_eval(current)) != int:
                raise ValueError   

            new_value = int(current)
            color = "#FFFFFF"
            self._current_value = new_value
            self._valid = True
        except ValueError:
            color = "#FFB6C1"
            self._valid = False

        self._select_widget.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))
fit_param_wrapper.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self,parent,fit,experiment,fit_param,float_view_cutoff=100000.):
        """
        Initialize the class.

        parent: parent widget
        fit: FitContainer object
        experiment: pytc.ITCExperiment instance
        fit_param: pytc.FitParameter instance to wrap
        float_view_cutoff: how to show floats in QLineEdit boxes
        """

        super().__init__()

        self._parent = parent
        self._fit = fit
        self._experiment = experiment
        self._p = fit_param
        self._float_view_cutoff = float_view_cutoff       

        self._is_connector_param = False
        self._is_connected = False

        self.layout()
fit_param_wrapper.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def _lower_handler(self):
        """
        Handle lower bound entries.  Turn pink of the value is bad.  
        """

        success = True 
        try:
            value = float(self._lower.text())
            if value > self._p.guess:
                raise ValueError
        except ValueError:
            success = False    

        if success:
            color = "#FFFFFF"
        else:
            color = "#FFB6C1"

        self._lower.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))

        if success:
            self._p.bounds = [value,self._p.bounds[1]]
            self._current_lower = value
            self._fit.emit_changed()
fit_param_wrapper.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def _upper_handler(self):
        """
        Handle upper bound entries.  Turn pink of the value is bad.  
        """

        success = True 
        try:
            value = float(self._upper.text())
            if value < self._p.guess:
                raise ValueError
        except ValueError:
            success = False    

        if success:
            color = "#FFFFFF"
        else:
            color = "#FFB6C1"

        self._upper.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))

        if success:
            self._p.bounds = [self._p.bounds[0],value] 
            self._current_upper = value
            self._fit.emit_changed()
experiment_settable.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def _general_handler(self):
        """
        Handler for other values (str, float, int most likely).  Parses
        QLineEdit.
        """

        current = self._select_widget.text()
        try:
            new_value = self._value_type(current)
            color = "#FFFFFF"
            self._fit.set_experiment_attr(self._experiment,self._settable_name, new_value,purge_fit=True)
            self._current_value = new_value
        except ValueError:
            color = "#FFB6C1"

        self._select_widget.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))
connector_dialog.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def _widget_checker(self):
        """
        Make sure widgets are good, turning bad widgets pink.
        """

        for k in self._arg_widgets.keys():

            caster = self._arg_types[k]
            if caster == bool:
                continue

            try:
                value = caster(self._arg_widgets[k].text())
                if type(value) is str and value.strip() == "":
                    raise ValueError 
                color = "#FFFFFF"
            except ValueError:
                color = "#FFB6C1"

            self._arg_widgets[k].setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))
experiment_meta_wrapper.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def layout(self):
        """
        Create layout.
        """

        self._main_layout = QW.QHBoxLayout(self)

        self._label = QW.QLabel(self._meta_name)
        self._meta = QW.QLineEdit()
        self._meta.textChanged.connect(self._meta_handler)
        self._meta.editingFinished.connect(self._meta_handler)

        self._main_layout.addWidget(self._label)
        self._main_layout.addWidget(self._meta)

        # Load in parameters from FitParameter object
        self.update()
experiment_meta_wrapper.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def update(self):
        """
        Update the widgets.
        """

        value = getattr(self._experiment,self._meta_name)

        if value != self._current_value:
            try:
                if value < 1/self._float_view_cutoff or value > self._float_view_cutoff:
                    value_str = "{:.8e}".format(value)
                else:
                    value_str = "{:.8f}".format(value)
                self._meta.setText(value_str)
            except TypeError:
                self._meta.setText("")

            color = "#FFFFFF"
            self._meta.setStyleSheet("QLineEdit {{ background-color: {} }}".format(color))
global_dialog.py 文件源码 项目:pytc-gui 作者: harmslab 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def layout(self):
        """
        Populate the window.
        """

        self._main_layout = QW.QVBoxLayout(self)
        self._form_layout = QW.QFormLayout()

        # Input box holding name
        self._global_var_input = QW.QLineEdit(self)
        self._global_var_input.setText("global")
        self._global_var_input.editingFinished.connect(self._check_name)

        # Final OK button
        self._OK_button = QW.QPushButton("OK", self)
        self._OK_button.clicked.connect(self._ok_button_handler)

        # Add to form
        self._form_layout.addRow(QW.QLabel("New Global Variable:"), self._global_var_input)

        # add to main layout
        self._main_layout.addLayout(self._form_layout)
        self._main_layout.addWidget(self._OK_button)

        self.setWindowTitle("Add new global variable")
spct_optionsdialog.py 文件源码 项目:specton 作者: somesortoferror 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def choosePathButton(self):
        sender = self.sender()
        if sender.objectName() == "pushButton_mediainfo_path":
            lineEdit = self.findChild(QLineEdit, "lineEdit_mediainfo_path")
            exe_name = "mediainfo"
        elif sender.objectName() == "pushButton_mp3guessenc_path":
            lineEdit = self.findChild(QLineEdit, "lineEdit_mp3guessenc_path")
            exe_name = "mp3guessenc"
        elif sender.objectName() == "pushButton_sox_path":
            lineEdit = self.findChild(QLineEdit, "lineEdit_sox_path")
            exe_name = "sox"
        elif sender.objectName() == "pushButton_ffprobe_path":
            lineEdit = self.findChild(QLineEdit, "lineEdit_ffprobe_path")
            exe_name = "ffprobe"
        elif sender.objectName() == "pushButton_aucdtect_path":
            lineEdit = self.findChild(QLineEdit, "lineEdit_aucdtect_path")
            exe_name = "aucdtect"
        if lineEdit is not None:
            path = lineEdit.text()
            file = str(QFileDialog.getOpenFileName(parent=self, caption=self.tr("Browse to")+" {} ".format(exe_name)+self.tr("executable file"),
                                                   directory=path)[0])
            if not file == "":
                lineEdit.setText(file)
db_import_wizard.py 文件源码 项目:activity-browser 作者: LCA-ActivityBrowser 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __init__(self, parent=None):
        super().__init__(parent)
        self.path_edit = QtWidgets.QLineEdit()
        self.registerField('dirpath*', self.path_edit)
        self.browse_button = QtWidgets.QPushButton('Browse')
        self.browse_button.clicked.connect(self.get_directory)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(QtWidgets.QLabel(
            'Choose location of existing ecospold2 directory:'))
        layout.addWidget(self.path_edit)
        browse_lay = QtWidgets.QHBoxLayout()
        browse_lay.addWidget(self.browse_button)
        browse_lay.addStretch(1)
        layout.addLayout(browse_lay)
        self.setLayout(layout)
db_import_wizard.py 文件源码 项目:activity-browser 作者: LCA-ActivityBrowser 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __init__(self, parent=None):
        super().__init__(parent)
        self.wizard = self.parent()
        self.path_edit = QtWidgets.QLineEdit()
        self.registerField('archivepath*', self.path_edit)
        self.browse_button = QtWidgets.QPushButton('Browse')
        self.browse_button.clicked.connect(self.get_archive)

        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(QtWidgets.QLabel(
            'Choose location of 7z archive:'))
        layout.addWidget(self.path_edit)
        browse_lay = QtWidgets.QHBoxLayout()
        browse_lay.addWidget(self.browse_button)
        browse_lay.addStretch(1)
        layout.addLayout(browse_lay)
        self.setLayout(layout)
db_import_wizard.py 文件源码 项目:activity-browser 作者: LCA-ActivityBrowser 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def __init__(self, parent=None):
        super().__init__(parent)
        self.wizard = self.parent()
        self.complete = False
        self.description_label = QtWidgets.QLabel('Login to the ecoinvent homepage:')
        self.username_edit = QtWidgets.QLineEdit()
        self.username_edit.setPlaceholderText('ecoinvent username')
        self.password_edit = QtWidgets.QLineEdit()
        self.password_edit.setPlaceholderText('ecoinvent password'),
        self.password_edit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.login_button = QtWidgets.QPushButton('login')
        self.login_button.clicked.connect(self.login)
        self.login_button.setCheckable(True)
        self.password_edit.returnPressed.connect(self.login_button.click)
        self.success_label = QtWidgets.QLabel('')
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(self.description_label)
        layout.addWidget(self.username_edit)
        layout.addWidget(self.password_edit)
        hlay = QtWidgets.QHBoxLayout()
        hlay.addWidget(self.login_button)
        hlay.addStretch(1)
        layout.addLayout(hlay)
        layout.addWidget(self.success_label)
        self.setLayout(layout)
wb_hg_credential_dialogs.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __init__( self, app, parent, url, realm ):
        super().__init__( parent )

        self.setWindowTitle( T_('Mercurial Credentials - %s') % (' '.join( app.app_name_parts ),) )

        self.username = QtWidgets.QLineEdit( '' )
        self.password = QtWidgets.QLineEdit()
        self.password.setEchoMode( self.password.Password )

        self.username.textChanged.connect( self.nameTextChanged )
        self.password.textChanged.connect( self.nameTextChanged )

        em = self.fontMetrics().width( 'M' )

        self.addRow( T_('URL'), url )
        self.addRow( T_('Realm'), realm )
        self.addRow( T_('Username'), self.username, min_width=50*em )
        self.addRow( T_('Password'), self.password )

        self.addButtons()
wb_hg_preferences.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __init__( self, app ):
        super().__init__( app, T_('Hg') )

        self.prefs = self.app.prefs.hg

        #------------------------------------------------------------
        self.hg_program = QtWidgets.QLineEdit()
        if self.prefs.program is not None:
            self.hg_program.setText( str(self.prefs.program) )

        else:
            # show the default
            self.hg_program.setText( hglib.HGPATH )

        self.browse_program = QtWidgets.QPushButton( T_('Browse...') )
        self.browse_program.clicked.connect( self.__pickProgram )

        #------------------------------------------------------------
        self.addRow( T_('Hg Program'), self.hg_program, self.browse_program )
wb_git_preferences.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__( self, app ):
        super().__init__( app, T_('Git') )

        self.prefs = self.app.prefs.git

        #------------------------------------------------------------
        self.git_program = QtWidgets.QLineEdit()
        if self.prefs.program is not None:
            self.git_program.setText( str(self.prefs.program) )

        else:
            # show the default
            self.git_program.setText( git.Git.GIT_PYTHON_GIT_EXECUTABLE )

        self.browse_program = QtWidgets.QPushButton( T_('Browse...') )
        self.browse_program.clicked.connect( self.__pickProgram )

        self.addRow( T_('Git Program'), self.git_program, self.browse_program )
wb_git_credentials_dialog.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __init__( self, app, parent ):
        self.app = app

        super().__init__( parent )

        self.setWindowTitle( T_('Git Credentials - %s') % (' '.join( app.app_name_parts ),) )

        self.url = QtWidgets.QLabel()
        self.username = QtWidgets.QLineEdit()
        self.password = QtWidgets.QLineEdit()
        self.password.setEchoMode( self.password.Password )

        self.username.textChanged.connect( self.nameTextChanged )
        self.password.textChanged.connect( self.nameTextChanged )

        em = self.fontMetrics().width( 'M' )

        self.addRow( T_('URL'), self.url )
        self.addRow( T_('Username'), self.username, min_width=50*em )
        self.addRow( T_('Password'), self.password )
        self.addButtons()
wb_svn_info_dialog.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def addRow( self, label, value ):
        value = str(value)

        label_ctrl = QtWidgets.QLabel( label )
        label_ctrl.setAlignment( QtCore.Qt.AlignRight )

        if '\n' in value:
            value_ctrl = QtWidgets.QPlainTextEdit()

        else:
            value_ctrl = QtWidgets.QLineEdit()


        value_ctrl.setMinimumWidth( 600 )
        value_ctrl.setReadOnly( True )
        value_ctrl.setText( value )

        row = self.grid.rowCount()
        self.grid.addWidget( label_ctrl, row, 0 )
        self.grid.addWidget( value_ctrl, row, 1 )
wb_scm_preferences_dialog.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def __init__( self, app ):
        super().__init__( app, T_('Projects') )

        if self.app is None:
            self.prefs = None
        else:
            self.prefs = self.app.prefs.projects_defaults

        self.new_projects_folder = QtWidgets.QLineEdit()
        if self.prefs.new_projects_folder is not None:
            self.new_projects_folder.setText( str(self.prefs.new_projects_folder) )

        else:            # show the default
            self.new_projects_folder.setText( str(wb_platform_specific.getHomeFolder()) )

        self.browse_folder = QtWidgets.QPushButton( T_('Browse...') )
        self.browse_folder.clicked.connect( self.__pickFolder )

        self.addRow( T_('New projects folder'), self.new_projects_folder, self.browse_folder )
wb_scm_preferences_dialog.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __init__( self, app ):
        super().__init__( app, T_('Shell') )

        if self.app is None:
            self.prefs = None
        else:
            self.prefs = self.app.prefs.shell

        terminal_program_list = wb_shell_commands.getTerminalProgramList()
        file_browser_program_list = wb_shell_commands.getFileBrowserProgramList()

        self.terminal_program = QtWidgets.QComboBox()
        self.terminal_program.addItems( terminal_program_list )
        self.terminal_init = QtWidgets.QLineEdit( '' )
        self.file_browser_program = QtWidgets.QComboBox()
        self.file_browser_program.addItems( file_browser_program_list )

        if self.prefs is not None:
            self.terminal_program.setCurrentText( self.prefs.terminal_program )
            self.terminal_init.setText( self.prefs.terminal_init )
            self.file_browser_program.setCurrentText( self.prefs.file_browser )

        self.addRow( T_('Terminal Program'), self.terminal_program )
        self.addRow( T_('Terminal Init Command'), self.terminal_init )
        self.addRow( T_('File Browser Program'), self.file_browser_program )
wb_common_dialogs.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __init__( self, app, parent ):
        self.app = app

        super().__init__( parent )

        self.setWindowTitle( T_('Rename - %s') % (' '.join( app.app_name_parts ),) )

        self.old_name = None

        self.name = QtWidgets.QLineEdit()
        self.name.textChanged.connect( self.nameTextChanged )

        self.ok_button.setEnabled( False )

        em = self.fontMetrics().width( 'M' )
        self.addRow( T_('Name'), self.name, min_width=em*80 )
        self.addButtons()
wb_diff_side_by_side_view.py 文件源码 项目:scm-workbench 作者: barry-scott 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__( self, app, parent_win, title, name=None ):
        super().__init__( parent_win )

        self.name = name    # used for debug

        self.text_file_name = QtWidgets.QLineEdit()
        self.text_file_name.setText( title )
        self.text_file_name.setReadOnly( True )

        self.ed = DiffBodyText( app, self, name=self.name )

        v_layout = QtWidgets.QBoxLayout( QtWidgets.QBoxLayout.LeftToRight )
        v_layout.addWidget( self.ed.diff_line_numbers )
        v_layout.addWidget( self.ed )

        h_layout = QtWidgets.QBoxLayout( QtWidgets.QBoxLayout.TopToBottom )
        h_layout.addWidget( self.text_file_name )
        h_layout.addLayout( v_layout )

        self.setLayout( h_layout )


问题


面经


文章

微信
公众号

扫码关注公众号