def initUI(self): self.setWindowTitle('文本校验器(限制输入)') IntLineEdit = QLineEdit() DoubleLineEdit = QLineEdit() validatorLineEdit = QLineEdit() FromLayout = QFormLayout() FromLayout.addRow('整数类型', IntLineEdit) FromLayout.addRow('浮点类型', DoubleLineEdit) FromLayout.addRow('数字和字母', validatorLineEdit) IntLineEdit.setPlaceholderText('整数类型') DoubleLineEdit.setPlaceholderText('浮点类型') validatorLineEdit.setPlaceholderText('数字和字母') # 整数校验器 intValidator = QIntValidator(self) intValidator.setRange(1, 99) # 浮点校验器 doubleValidator = QDoubleValidator(self) doubleValidator.setRange(-360, 360) doubleValidator.setNotation(QDoubleValidator.StandardNotation) doubleValidator.setDecimals(2) # 正则表达式 数字和字母 validator = QRegExp('[a-zA-Z0-9]+&') RegValidator = QRegExpValidator(self) RegValidator.setRegExp(validator) # 设置校验器 IntLineEdit.setValidator(intValidator) DoubleLineEdit.setValidator(doubleValidator) validatorLineEdit.setValidator(RegValidator) self.setLayout(FromLayout)
def __init__(self, parent = None, type = 'rows', options = []): super(TAInsertRowsColsDialog, self).__init__(parent) self.ok = False self.cb = QComboBox() for index,name in options: self.cb.addItem(str(name), index) self.nmb = QLineEdit() self.nmb.setValidator( QIntValidator(1, 1000, self) ); self.nmb.setText('1') label1 = QLabel("Insert before " + ('row' if type=='rows' else 'col') + ":") label2 = QLabel("Number:") form = QFormLayout() form.addRow(label1, self.cb) form.addRow(label2, self.nmb) form_widget = QWidget() form_widget.setLayout(form) self.btn_ok = QPushButton("Ok") self.btn_ok.clicked.connect(self.button_press) self.btn_cancel = QPushButton("Cancel") self.btn_cancel.clicked.connect(self.button_press) self.btn_cancel.move(80, 0) buttons = QHBoxLayout() buttons.addWidget(self.btn_ok) buttons.addWidget(self.btn_cancel) buttons_widget = QWidget() buttons_widget.setLayout(buttons) layout = QVBoxLayout() layout.addWidget(form_widget) layout.addWidget(buttons_widget) self.setLayout(layout)
def _new_text_input(self, c: TextInputComponent) -> Tuple[QLabel, QLineEdit]: line_edit = QLineEdit() if c.only_int: line_edit.setValidator(QIntValidator()) if c.tooltip: line_edit.setToolTip(c.tooltip) if c.placeholder: line_edit.setPlaceholderText(c.placeholder) if c.value: line_edit.setText(str(c.value) if c.value else '') line_edit.setCursorPosition(0) if c.read_only: line_edit.setEnabled(False) def update_model(text: str): c.value = text line_edit.textChanged.connect(update_model) label = QWidget() label.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) label.setLayout(QHBoxLayout()) label_component = QLabel() label.layout().addWidget(label_component) if label: label_component.setText(c.label.capitalize()) if c.tooltip: label.layout().addWidget(self.gen_tip_icon(c.tooltip)) return label, self._wrap(line_edit, c)
def __init__(self, parent=None): super(lineEditDemo, self).__init__(parent) self.setWindowTitle("QLineEdit 例子") flo = QFormLayout() pIntLineEdit = QLineEdit() pDoubleLineEdit = QLineEdit() pValidatorLineEdit = QLineEdit() flo.addRow("整型:", pIntLineEdit) flo.addRow("浮点型:", pDoubleLineEdit) flo.addRow("字母和数字:", pValidatorLineEdit) pIntLineEdit.setPlaceholderText("整型") pDoubleLineEdit.setPlaceholderText("浮点型") pValidatorLineEdit.setPlaceholderText("字母和数字") # 整数范围:[1, 99] pIntValidator = QIntValidator(self) pIntValidator.setRange(1, 99) # 浮点型范围:[-360, 360], 精度:0.00 pDoubleValidator = QDoubleValidator(self) pDoubleValidator.setRange(-360, 360) pDoubleValidator.setNotation(QDoubleValidator.StandardNotation) pDoubleValidator.setDecimals(2) # 字母和数字 reg = QRegExp("[a-zA-Z0-9]+$") pValidator = QRegExpValidator(self) pValidator.setRegExp(reg) # 设置验证器 pIntLineEdit.setValidator(pIntValidator) pDoubleLineEdit.setValidator(pDoubleValidator) pValidatorLineEdit.setValidator(pValidator) self.setLayout(flo)
def __init__(self, parent=None): super(lineEditDemo, self).__init__(parent) self.setWindowTitle('QLineEdit例子') flo = QFormLayout() pIntLineEdit = QLineEdit() pDoubleLineEdit = QLineEdit() pValidatorLineEdit = QLineEdit() flo.addRow('整型', pIntLineEdit) flo.addRow('浮点型', pDoubleLineEdit) flo.addRow('字母和数字', pValidatorLineEdit) pIntLineEdit.setPlaceholderText('整型') pDoubleLineEdit.setPlaceholderText('浮点型') pValidatorLineEdit.setPlaceholderText('字母和数字') # 整型,范围[1,99] pIntValidator = QIntValidator(self) pIntValidator.setRange(1, 99) # 浮点型,范围[-360,360],精度:小数点后两位 pDoubleValidator = QDoubleValidator(self) pDoubleValidator.setRange(-360, 360) pDoubleValidator.setNotation(QDoubleValidator.StandardNotation) pDoubleValidator.setDecimals(2) # 字母和数字 reg = QRegExp('[a-zA-Z0-9]+$') pValidator = QRegExpValidator(self) pValidator.setRegExp(reg) # 设置验证器 pIntLineEdit.setValidator(pIntValidator) pDoubleLineEdit.setValidator(pDoubleValidator) pValidatorLineEdit.setValidator(pValidator) self.setLayout(flo)
def createPinEnterPanel(self): widget = QWidget() layout = QVBoxLayout() self.pinlabel = QLabel() self.pinlabel.setText("Enter PIN number:") self.pinBox = QLineEdit() self.pinBox.setValidator(QIntValidator()) self.pinBox.setMaxLength(4) self.pinBox.setFont(QFont("Arial", 20)) submitBtn = QPushButton("Submit", self) submitBtn.clicked.connect(self.verifyPin) layout.addWidget(self.pinlabel) layout.addWidget(self.pinBox) layout.addWidget(submitBtn) layout.addStretch() widget.setLayout(layout) return widget
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.auto_update_cb = QCheckBox("Update automatically") self.auto_update_cb.setChecked(True) self.update_image_btn = QPushButton("Update image") self.update_image_btn.setEnabled(False) # It is just a placeholder self.moving_avg_le = SmartLineEdit(str(1)) self.moving_avg_le.setValidator(QIntValidator(1, 9999999)) self.moving_avg_le.setMinimumWidth(60) self.moving_avg_le.setEnabled(False) self.threshold_mask_le = SmartBoundaryLineEdit('-1e5, 1e5') # avoid collapse on online and maxwell clusters self.threshold_mask_le.setMinimumWidth(160) self.auto_level_btn = QPushButton("Auto level") self.save_image_btn = QPushButton("Save image") self.initUI() self.initConnections()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._ma_window_le = SmartLineEdit("1") validator = QIntValidator() validator.setBottom(1) self._ma_window_le.setValidator(validator) self._concentric_rings = _ConcentricRingsCtrlWidget() self._fourier_transform = _FourierTransformCtrlWidget() self._edge_detection = _EdgeDetectionCtrlWidget() self._opt_tab = QTabWidget() self._opt_tab.addTab(self._concentric_rings, "Concentric rings") self._opt_tab.addTab(self._fourier_transform, "Fourier transform") self._opt_tab.addTab(self._edge_detection, "Edge detection") self._non_reconfigurable_widgets = [ self._concentric_rings.detect_btn, ] self.initUI() self.initConnections()
def inicializar_gui(self): self.ui = Ui_InsercionRegistros() self.ui.setupUi(self) self.patron_nombre_tabla = '^[a-zA-Z]+$' self.regex_nombre_tabla = re.compile(self.patron_nombre_tabla) self.patron_nombre_base_datos = '^[a-zA-Z0-9]+$' self.regex_nombre_base_datos = re.compile( self.patron_nombre_base_datos) self.ui.btn_conectar.clicked.connect(self.conectar) self.ui.btn_insertar.clicked.connect(self.insertar) self.ui.txt_documento.setValidator(QIntValidator(1000, 9999)) self.ui.txt_ahorros.setValidator(QDoubleValidator(0, 10000000, 2)) self.mensaje = QMessageBox(self) self.mensaje.setWindowTitle('Mensajes') self.conexion = None self.show()
def __init__(self, widget, update_func=None): """ init method :param widget: widget to open view """ super(NewReservationView, self).__init__() loadUi("../designer/Reservation/AddReservationView.ui", self) self.widget = widget self.user = User() self.users = self.userM.list() self.load_data() self.pop = '' self.nameField.textChanged.connect(lambda: self.search()) self.surnameField.textChanged.connect(lambda: self.search()) self.get_field.clicked.connect(lambda: self.get_fields()) self.clear_field.clicked.connect(lambda: self.clear_fields()) self.save_button.clicked.connect(lambda: self.set_fields()) self.go_back_button.clicked.connect(lambda: self.close()) if update_func is not None: self.save_button.clicked.connect(update_func) self.telephone.setValidator(QIntValidator()) self.name.setValidator(QRegExpValidator(QRegExp('^[a-zA-Z]*$'))) self.surname.setValidator(QRegExpValidator(QRegExp('^[a-zA-Z]*$')))
def bind(self): MainWindow = self.MainWindow self.retranslateUi(MainWindow) # 退出 self.exit.clicked.connect(MainWindow.close) self.actionExit_2.triggered.connect(MainWindow.close) # 提交 self.submit_button.clicked.connect(self.submit) # 按下回车提交 self.user_input.returnPressed.connect(self.submit) # 限制用户输入 self.user_input.setValidator(QIntValidator()) self.user_input.setMaxLength(4) # 开始游戏 self.new_game.clicked.connect(self.start_game) self.actionNew_Game.triggered.connect(self.start_game) # 游戏帮助 self.actionHelp.triggered.connect(self.show_help) # 关于 self.actionAbout.triggered.connect(self.show_about) QtCore.QMetaObject.connectSlotsByName(MainWindow)
def initBtn(self): # 聚类个数输入框 kLabel = QLabel() kLabel.setText("k: ") self.kEdit = QLineEdit() kIntValidator = QIntValidator(self) kIntValidator.setRange(1, 8) self.kEdit.setPlaceholderText("分类个数(范围: 1-8)") self.kEdit.setValidator(kIntValidator) self.kButton = QPushButton() self.kButton.setText("分类") self.kButton.setEnabled(False) self.kButton.clicked.connect(self.kMeansPlot) hBox = QHBoxLayout(self) hBox.addWidget(kLabel, 0) hBox.addWidget(self.kEdit, 0) hBox.addWidget(self.kButton, 0) hWidget = QWidget() hWidget.setLayout(hBox) self.mainLayout.addWidget(hWidget)
def init_ui(self): self.setFixedWidth(322) grid = QGridLayout() grid.setContentsMargins(0, 0, 0, 0) grid.setSpacing(0) label = QLabel(self.label_value) label.setFixedWidth(60) grid.addWidget(label, 0, 0) self.slider = QSlider(Qt.Horizontal) self.slider.setValue(self.current_value) self.slider.sliderPressed.connect(self.on_slider_pressed) self.slider.sliderReleased.connect(self.on_slider_released) self.slider.sliderMoved.connect(self.on_slider_changed) grid.addWidget(self.slider, 0, 1, 1, 2) self.line_edit = AutoMateLineEdit() self.line_edit.setFixedWidth(60) self.line_edit.bind_on_unfocus(self.on_line_edit_changed) self.line_edit.setValidator(QIntValidator()) self.line_edit.setText(str(self.current_value)) grid.addWidget(self.line_edit, 0, 3, 1, 1) self.setLayout(grid)
def _get_layout(self, input_parameter: 'InputParameters'): current_value = self.default_dict.get(input_parameter.name, '') if current_value is None: current_value = '' label_widget = QLabel(input_parameter.label) input_widget = QLineEdit(str(current_value)) if input_parameter.type is int: input_widget.setValidator(QIntValidator()) layout = QHBoxLayout() layout.addWidget(label_widget, Qt.AlignHCenter) layout.addWidget(input_widget, Qt.AlignHCenter) if input_parameter.info: info_button = InfoButton(input_parameter.info) layout.addWidget(info_button, Qt.AlignLeft) def get_input(s): return validate_scientific_value(input_widget, input_parameter.type, input_parameter.none) setattr(AbstractInputParametersWidget, input_parameter.name, property(get_input)) return layout
def initUI(self): self.setWindowTitle("验证器") formlayout = QFormLayout(self) int_line = QLineEdit() double_line = QLineEdit() int_line.setPlaceholderText("int") # formlayout.addWidget(int_line) # formlayout.addWidget(double_line) formlayout.addRow("整型", int_line) formlayout.addRow("浮点型", double_line) double_line.setPlaceholderText("float") double_line.setEchoMode(QLineEdit.Password) int_val = QIntValidator() int_val.setRange(0, 100) double_val = QDoubleValidator(double_line) int_line.setValidator(int_val)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.auto_update_cb = QCheckBox("Update automatically") self.auto_update_cb.setChecked(True) self.update_image_btn = QPushButton("Update image") self.update_image_btn.setEnabled(False) # It is just a placeholder self.moving_avg_le = SmartLineEdit(str(1)) validator = QIntValidator() validator.setBottom(1) self.moving_avg_le.setValidator(validator) self.moving_avg_le.setMinimumWidth(60) self.moving_avg_le.setEnabled(False) self.auto_level_btn = QPushButton("Auto level") self.save_image_btn = QPushButton("Save image") self._non_reconfigurable_widgets = [self.save_image_btn] self.initUI() self.initConnections()
def __add_algorithm_property_inputs(self): only_int_validator = QIntValidator() self.__pop_amount_input = QLineEdit() self.__pop_amount_input.setPlaceholderText('Population amount') self.__pop_amount_input.setValidator(only_int_validator) self.__form_layout.addRow(self.__pop_amount_input) self.__epoch_number_input = QLineEdit() self.__epoch_number_input.setPlaceholderText('Epochs amount') self.__epoch_number_input.setValidator(only_int_validator) self.__form_layout.addRow(self.__epoch_number_input) self.__selection_amount_input = QLineEdit() self.__selection_amount_input.setPlaceholderText( 'Best and tournament chromosome amount') self.__selection_amount_input.setValidator(only_int_validator) self.__form_layout.addRow(self.__selection_amount_input) self.__elite_amount_input = QLineEdit() self.__elite_amount_input.setPlaceholderText('Elite Strategy amount') self.__elite_amount_input.setValidator(only_int_validator) self.__form_layout.addRow(self.__elite_amount_input)
def create_layout(self): layout = QVBoxLayout() self.line_edit = QLineEdit() buttons_layout = QHBoxLayout() save_button = QPushButton("Save") save_button.clicked.connect(lambda: self.update_to_edit()) cancel_button = QPushButton("Cancel") cancel_button.clicked.connect(lambda: self.close()) buttons_layout.addWidget(save_button) buttons_layout.addWidget(cancel_button) if self.to_edit in ("Current Weight", "Weight Goal", "Time Spent", "Distance Travelled"): self.line_edit.setValidator(QIntValidator()) elif self.to_edit == "Loss Per Week": self.line_edit.setValidator(QDoubleValidator()) self.line_edit.setText(str(self.old_value)) layout.addWidget(self.line_edit) layout.addLayout(buttons_layout) return layout
def pressLay(self): onlyInt = QIntValidator() nospace = QRegExpValidator(QRegExp("[^ ]+")) self.pressText = QLineEdit() self.pressInterval = QLineEdit("0") self.pressPresses = QLineEdit("1") pressButton = QPushButton("Add to List") self.pressInterval.setValidator(onlyInt) self.pressPresses.setValidator(onlyInt) self.pressText.setValidator(nospace) pressInfo = QLabel( "You can write enter, capslock ve space...\nLook keys.txt for details." ) pressForm = QFormLayout() pressForm.addRow(pressInfo) pressForm.addRow("Key :", self.pressText) pressForm.addRow("Presses :", self.pressPresses) pressForm.addRow("Interval :", self.pressInterval) pressForm.addRow(pressButton) self.pressWid.setLayout(pressForm) pressButton.clicked.connect(self.pressDo)
def setupWidgets(self): self.prevButton = QPushButton('Previous') self.nextButton = QPushButton('Next') self.jumpLabel = QLabel("jump To") self.jumpBox = QLineEdit() self.numberLabel = QLabel("out of {}") self.goButton = QPushButton("Go") self.jumpBox.setValidator(QIntValidator()) self.jumpBox.setFixedWidth(30) self.lowerLayout.addWidget(self.prevButton) self.lowerLayout.addWidget(self.nextButton) self.upperLayout.addWidget(self.jumpLabel) self.upperLayout.addWidget(self.jumpBox) self.upperLayout.addWidget(self.numberLabel) self.upperLayout.addWidget(self.goButton) self.upperLayout.setContentsMargins(2, 2, 5, 5) self.layout.addLayout(self.upperLayout) self.layout.addLayout(self.lowerLayout) self.setLayout(self.layout)
def init_ui(self): self.setWindowTitle( strs.strings.get("measWheelConfig")[appconfig.language]) self.setGeometry(200, 300, 300, 100) self.configLayout = QFormLayout() self.buttons = QtWidgets.QDialogButtonBox( QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel) self.measWheelDiameter = QtWidgets.QLabel( strs.strings.get("measWheelDiameter")[appconfig.language]) self.measWheelDiameter.setObjectName("measWheelDiameter") self.measWheelDiameterEdit = QtWidgets.QLineEdit() self.measWheelDiameterEdit.setObjectName("measWheelDiameterEdit") self.measWheelDiameterEdit.setText( str(self.measWheelConfig.get("measWheelDiameter")) + "cm") self.pulseCountPerRound = QtWidgets.QLabel( strs.strings.get("pulseCountPerRound")[appconfig.language]) self.pulseCountPerRound.setObjectName("pulseCountPerRound") self.pulseCountPerRoundEdit = QtWidgets.QLineEdit() self.pulseCountPerRoundEdit.setText( str(self.measWheelConfig.get("pulseCountPerRound"))) self.pulseCountPerRoundEdit.setObjectName("pulseCountPerRoundEdit") self.pulseCountPerRoundEdit.setValidator(QIntValidator(0, 1000)) self.configLayout.addRow( strs.strings.get("measWheelDiameter")[appconfig.language], self.measWheelDiameterEdit) self.configLayout.addRow( strs.strings.get("pulseCountPerRound")[appconfig.language], self.pulseCountPerRoundEdit) self.configLayout.addWidget(self.buttons) self.buttons.accepted.connect(self.accept) self.buttons.rejected.connect(self.reject) self.setLayout(self.configLayout)
def initUi(self): self.setupUi(self) # 先取保存的变量 self.settings = QSettings("yqfsoft", "DDNS") self.userinfo = self.settings.value('userinfo') # 开机自动启动 self.load_autorun_setting() # 设置文本可以跳转页面 self.web_lb.setOpenExternalLinks(True) # 读取userinfo self.load_userinfo() # 创建托盘 self.create_tuopan() self.ip_request = AsyncRequest() # self.update_ip_request = AsyncRequest() # 获取ip地址 # https://ipv4.jsonip.com https://ipv6.jsonip.com https://jsonip.com self.ip_url = 'https://ipv4.jsonip.com' self.ip_request.get(self.ip_url) # dyndns更新 self.request_ip_time = QTimer() # 验证时间的 update_time_validator = QIntValidator(5, 1092) self.update_time_le.setValidator(update_time_validator) # 信号 # 获取ip地址的信号 self.ip_request.getResult.connect(self.get_ip_result) # dyndns发送更新ip地址 # self.update_ip_request.getResult.connect(self.get_update_ip_result) self.request_ip_time.timeout.connect( lambda: self.ip_request.get(self.ip_url)) # 监控托盘的双击显示和隐藏 self.tuopan.activated[self.tuopan.ActivationReason].connect( self.iconActivated)
def __init__(self): super(Window, self).__init__() self.setWindowTitle("Python") self.setGeometry(300, 300, 500, 500) self.formGroupBox = QGroupBox("FISH SCHOOL SEARCH") self.oneLineEdit = QLineEdit() self.twoLineEdit = QLineEdit() self.threeLineEdit = QLineEdit() self.fourLineEdit = QLineEdit() self.fiveLineEdit = QLineEdit() self.sixLineEdit = QLineEdit() self.btn = QPushButton('Select dataset file') self.btn.clicked.connect(self.openFile) self.msg = QLabel('') self.onlyInt = QIntValidator() self.onlyDouble = QDoubleValidator() self.oneLineEdit.setValidator(self.onlyInt) self.twoLineEdit.setValidator(self.onlyInt) self.threeLineEdit.setValidator(self.onlyInt) self.fourLineEdit.setValidator(self.onlyDouble) self.fiveLineEdit.setValidator(self.onlyDouble) self.sixLineEdit.setValidator(self.onlyDouble) self.createForm() self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttonBox.accepted.connect(self.passArgs) self.buttonBox.rejected.connect(self.reject) mainLayout = QVBoxLayout() mainLayout.addWidget(self.formGroupBox) mainLayout.addWidget(self.buttonBox) self.setLayout(mainLayout)
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) # setup variables self.trans_coords = [] # setup UI self.setupUi(self) # QIntValidator self.double_check = QDoubleValidator() lineEdit_list = [ self.lineEdit_1, self.lineEdit_2, self.lineEdit_3, self.lineEdit_4, self.lineEdit_5, self.lineEdit_6, self.lineEdit_7 ] for line_item in lineEdit_list: line_item.setValidator(self.double_check) self.onlyInt = QIntValidator() lineEdit_list = [self.lineEdit_8, self.lineEdit_9, self.lineEdit_10] for line_item in lineEdit_list: line_item.setValidator(self.onlyInt) # init canvas_1 self.static_canvas_1 = FigureCanvas(Figure(figsize=(5, 3))) QtWidgets.QVBoxLayout(self.widget_1).addWidget(self.static_canvas_1) self.addToolBar(NavigationToolbar(self.static_canvas_1, self)) self._static_ax_1 = self.static_canvas_1.figure.subplots() # init canvas_2 self.static_canvas_2 = FigureCanvas(Figure(figsize=(5, 3))) QtWidgets.QVBoxLayout(self.widget_2).addWidget(self.static_canvas_2) self.addToolBar(NavigationToolbar(self.static_canvas_2, self)) self._static_ax_2 = self.static_canvas_2.figure.subplots() # slot connections self.radioButton_1.clicked.connect(self.disable_1) self.radioButton_2.clicked.connect(self.disable_2) self.radioButton_3.clicked.connect(self.disable_3) self.pushButton_1.clicked.connect(self.plot_1) self.pushButton_2.clicked.connect(self.initmap_1) self.pushButton_3.clicked.connect(self.initmap_2) self.pushButton_4.clicked.connect(self.plot_2) self.initUI()
def show(self): logging.debug('edit() called ExecReturn') self.settingsLayout = QVBoxLayout() self.delayRow = QWidget() self.delayRowLayout = QHBoxLayout() self.window = ElementEditor(self) self.window.setWindowTitle(QC.translate('', 'Settings')) self.top_text = QLabel() self.top_text.setText(QC.translate('', 'Debug delay:')) self.delay_text = QLabel() self.delay_text.setText(QC.translate('', 'Milliseconds')) self.delayInput = QLineEdit() self.delayInput.setValidator(QIntValidator(0, 9999)) self.delayInput.setText(str(self.delay)) self.delayRowLayout.addWidget(self.delayInput) self.delayRowLayout.addWidget(self.delay_text) self.delayRowLayout.addStretch(1) self.delayRow.setLayout(self.delayRowLayout) self.confirm_button = QPushButton(QC.translate('', 'Ok')) self.confirm_button.clicked.connect(self.window.closeEvent) self.window.window_closed.connect(self.edit_done) self.settingsLayout.addWidget(self.top_text) self.settingsLayout.addWidget(self.delayRow) self.settingsLayout.addStretch(1) self.settingsLayout.addWidget(self.confirm_button) self.window.setLayout(self.settingsLayout) self.window.show()
def __init__(self): QMainWindow.__init__(self) # self.setMinimumSize(QSize(640, 480)) self.setWindowTitle("PyMines") centralWidget = QWidget(self) self.setCentralWidget(centralWidget) self.mainLayout_ = QGridLayout() centralWidget.setLayout(self.mainLayout_) self.setUpLayout_ = QFormLayout() self.mainLayout_.addLayout(self.setUpLayout_, 0, 0) self.onlyInt_ = QIntValidator() self.rows_ = QLineEdit(self) self.rows_.setValidator(self.onlyInt_) self.setUpLayout_.addRow("Rows: ", self.rows_) self.cols_ = QLineEdit(self) self.cols_.setValidator(self.onlyInt_) self.setUpLayout_.addRow("Cols: ", self.cols_) self.bmbs_ = QLineEdit(self) self.bmbs_.setValidator(self.onlyInt_) self.setUpLayout_.addRow("Bombs: ", self.bmbs_) self.newGame_ = QPushButton("New Game") self.mainLayout_.addWidget(self.newGame_, 1, 0) self.mf_ = QGridLayout() self.mainLayout_.addLayout(self.mf_, 2, 0) self.newGame_.clicked.connect(self.newGame) self.st_ = QLabel(self.model_.st_.name) self.mainLayout_.addWidget(self.st_, 3, 0)
def __init__(self, parent=None): super(Dialog, self).__init__(parent) self.setWindowTitle("Dialog") pLineEdit1 = QLineEdit() pLineEdit1.setValidator(QIntValidator()) # 设置校验器 => 整型 pLineEdit1.setMaxLength(4) # 设置允许输入字符的最大长度 pLineEdit1.setAlignment(Qt.AlignRight) # 居右显示 pLineEdit1.setFont(QFont("Arial", 15)) # 设置字体 pLineEdit2 = QLineEdit() pLineEdit2.setValidator(QDoubleValidator(0.99, 99.99, 2)) pLineEdit3 = QLineEdit() pLineEdit3.setInputMask('+99_9999_999999') # 设置掩码 pLineEdit4 = QLineEdit() pLineEdit4.textChanged.connect(self.textchanged) # 当修改文本内容时,这个信号会被发射 pLineEdit5 = QLineEdit() pLineEdit5.setEchoMode(QLineEdit.Password) # 设置文本框显示格式 => 显示与平台相关的掩码字符 pLineEdit5.editingFinished.connect( self.enterPress) # 当结束编辑文本时,这个信号会被发射 pLineEdit6 = QLineEdit("Hello PyQt5") pLineEdit6.setReadOnly(True) # 设置文本框为只读 # 表单布局 flo = QFormLayout() flo.addRow("integer validator", pLineEdit1) flo.addRow("Double validator", pLineEdit2) flo.addRow("Input Mask", pLineEdit3) flo.addRow("Text changed", pLineEdit4) flo.addRow("Password", pLineEdit5) flo.addRow("Read Only", pLineEdit6) self.setLayout(flo)
def openFile(self, file, savePickle): if os.path.isfile(savePickle) and self.checkFile(file, savePickle): # 该文件曾被打开过, 有pickle缓存 # 该文件没有被修改过 with open(savePickle, 'rb') as f: self.csv_file = pickle.load(f) else: # 该文件没有被打开过 # 一是打开它 # 二是保存该文件的csv类型, 提高下次打开效率 # 三是保存该文件的最后修改时间,用于下次打开时判断是否被修改过 self.csv_file = pd.read_csv(file) with open(savePickle, 'wb') as f: pickle.dump(self.csv_file, f) changeTime = time.localtime(os.stat(file).st_mtime) savePickleChange = savePickle + 'change' with open(savePickleChange, 'wb') as f: pickle.dump(changeTime, f) self.csv_file.fillna(0) self.drawMapButton.setEnabled(True) self.drawColorMapButton.setEnabled(True) self.countStoreByTimezoneButton_bar.setEnabled(True) self.countStoreByTimezoneButton_pie.setEnabled(True) self.countStoreByCountryButton_bar.setEnabled(True) self.countStoreByCountryButton_pie.setEnabled(True) self.findTopKButton.setEnabled(True) self.longitudeEdit.setEnabled(True) self.latitudeEdit.setEnabled(True) self.kEdit.setEnabled(True) kIntValidator = QIntValidator(self) kIntValidator.setRange(0, len(self.csv_file)) self.kEdit.setPlaceholderText("输入0-"+str(len(self.csv_file))+"间的整数值") self.kEdit.setValidator(kIntValidator)
def initUI(self): self.setWindowTitle('校验器') formLayout = QFormLayout() intLineEdit = QLineEdit() doubleLineEdit = QLineEdit() validatorLineEdit = QLineEdit() formLayout.addRow('整数类型', intLineEdit) formLayout.addRow('浮点类型', doubleLineEdit) formLayout.addRow('数字和字母', validatorLineEdit) intLineEdit.setPlaceholderText('整型') #设置提示字符 doubleLineEdit.setPlaceholderText('浮点型') validatorLineEdit.setPlaceholderText('字母和数字') #整数校验器 intValidator = QIntValidator(self) intValidator.setRange(1, 99) #只能输入1——99之间的整数 #浮点校验器[-360,360],精度:小数点后2位 doubleValidator = QDoubleValidator(self) doubleValidator.setRange(-360, 360) #设置范围 doubleValidator.setNotation(QDoubleValidator.StandardNotation) doubleValidator.setDecimals(2) #设置精度,小数点2位 #字符和数字 reg = QRegExp('[a-zA-Z0-9]') #匹配数字和字母的正则表达式 validator = QRegExpValidator(self) validator.setRegExp(reg) #通过带入正则表达式制作数字和字母的校验器 #设置校验器 intLineEdit.setValidator(intValidator) #将整型校验器设置到第一个输入框中 doubleLineEdit.setValidator(doubleValidator) validatorLineEdit.setValidator(validator) self.setLayout(formLayout)
def initUI(self): # 单行文本框,设置预占提示文字 self.led_001 = QLineEdit() self.led_001.setPlaceholderText("请在此处输入文本") # 密码框制作 self.led_002 = QLineEdit() self.led_002.setEchoMode(QLineEdit.Password) self.led_002.setText("hello") # 输入数据格式限制(允许在输入框里面输入什么,或者不允许输入什么) self.led_003 = QLineEdit() self.led_003.setValidator(QIntValidator()) self.led_003.setText("100000") ### 下面的语句使用前 from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator # # 整形 范围:[1, 99] # pIntValidator = QIntValidator(self) # pIntValidator.setRange(1, 99) # # # 浮点型 范围:[-360, 360] 精度:小数点后2位 # pDoubleValidator = QDoubleValidator(self) # pDoubleValidator.setRange(-360, 360) # pDoubleValidator.setNotation(QDoubleValidator.StandardNotation) # pDoubleValidator.setDecimals(2) # # # 正则表达式匹配 # reg = QRegExp("[a-zA-Z0-9]+$") # pValidator = QRegExpValidator(self) # pValidator.setRegExp(reg) # 限制数据显示格式,比如输入软件序列号时的输入框 self.led_004 = QLineEdit() self.led_004.setInputMask("0000-0000-0000-00") # self.led_004.setInputMask("AAAA-0000-HH") # 文本域的使用 self.ted_001 = QTextEdit()