设置不可编辑 setReadOnly(false); //或 setEnabled(false); //或 setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似...3、密文输入 setEchoMode(QLineEdit::Password); 4、输入格式控制 setInputMask("0000-00-00 00:00"); 5、设置可以输入的最多字符数 LineEdit...->setMaxLength(9);//最多输入9个字符 6、设置文本对齐方式 lineedit->setAlignment(Qt::AlignLeft)//左对齐 lineedit->setAlignment...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
QLineEdit(); QFormLayout *layout = new QFormLayout; layout->addRow(button1, lineEdit1); ...在QLabel中使用富文本会给布局的父类widget带来一些问题。问题发生的原因是因为当label被文字环绕时,富文本被Qt的布局管理器控制。...编写自定义布局类,必须定义以下内容: l 由布局控制的存放元素的数据结构。每个元素都是一个QLayoutItem。在这个例子中,我们将使用QList 。...l setGeometry(),描述如何完成布局 l sizeHint(),布局的首选大小 l itemAt(),描述如何递归布局 l takeAt(),描述如何移除布局中的元素。...调用QLayoutItem::sizeHint()等的代价比较大。在通过函数中,需要再次使用,最好将结果保存在本地变量中。
关闭大小写转换 \ 使用‘\’转义上面列出的字符 掩码由掩码字符与分隔符字符串组成,后面可以跟一个分号和空白字符,空白字符在编辑后会从文本删除的 掩码示例如下: 掩码 注意事项 000.000.000.000...,窗口,表单布局 from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout #导入文本校验器:整数校验器与浮点数校验器...__init__(parent) self.setWindowTitle('QlineEdit的掩码输入例子') #实例化表单布局 flo=QFormLayout() #创建4个文本框 pIPlineEdit...)) #表单布局 flo=QFormLayout() #添加名称及控件到布局中 flo.addRow('integer validator',e1) flo.addRow('Double Validator...演示了使用QLineEdit对象的一些方法 第一个文本框e1,显示文本使用自定义字体,右对齐,允许输入整数 第二个文本框e2,限制输入小数点后两位 第三个文本框e3,需要一个输入掩码应用于电话号码
screen = QDesktopWidget().screenGeometry() # 获取窗口大小 size = MainWindow.geometry...label3 = QLabel() label4 = QLabel() label1.setText("这是一个红色的文本...QLineEdit 单行文本框,多行使用 QTextEdit 常用的信号: selectionChanged 选择改变了,就发射信号 textChanged 修改文本内容时 editingFinished....py # @desc : from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QLabel, QFormLayout import...(self.text_changed) layout.addRow("文本改变", e4) e5 = QLineEdit() e5.setEchoMode
QLabel* emailLabel = new QLabel("邮箱:(&E)"); QLabel* doorLabel = new QLabel("门牌号码:"); // 添加文本框...QLineEdit* nameLineEdit = new QLineEdit; QLineEdit* ageLineEdit = new QLineEdit; QLineEdit...常用语表单布局 QFormLayout* headerLayout = new QFormLayout; //将部件添加到布局管理器中 headerLayout->addRow...addItem(spacer);//添加空隙对象 //添加一个按钮 QPushButton* okBtn = new QPushButton("确定"); //将按钮添加到布局管理器中...(20);//设置控件间的间隙 //设置窗口布局管理器 w.setLayout(mainLayout); w.show(); return a.exec(); }
此方法有多种变量,但是在大多数情况下,您可以从以下两种进行选择: .addRow(label,field)将新行添加到表单布局的底部。....addRow(labelText,field)自动创建并添加带有labelText作为其文本的新QLabel对象。字段. field包含一个输入小部件。...使用QFormLayout,可以以两列的方式组织小部件。第一列包含标签,要求用户提供一些信息。第二列显示允许用户输入或编辑该信息的小部件。...如果要在页面上显示多个窗口小部件,请对每个页面使用QWidget对象,并为页面窗口小部件设置适当的窗口小部件布局。如果需要获取布局中小部件(页面)的总数,则可以调用.count()。...使用PyQt的标签小部件 在PyQt中创建多页排列的另一种流行方式是使用称为QTabWidget的类。此类提供标签栏和页面区域。
来看看两者的使用方法和区别吧~ 1、QLineEdit文本框类 QLineEdit类中的常用方法如下表所示: 定义输入掩码的字符,下表中列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入。...掩码由掩码字符和分隔符字符串组成,后面可以跟一个分号和空白字符,空白字符在编辑后会从文本中删除的。...掩码示例如下表所示: QLineEdit类中的常用信号如下表所示: 通过一个简单案例了解QLineEdit文本框类的使用吧,效果如下所示: 示例中,演示了QLineEdit文本框类常用方法: 第...1个文本框e1,显示文本使用自定义字体、右对齐、允许输入整数。...QTextEdit类中的常用方法如下表所示: 通过一个简单案例了解QTextEdit文本框类的使用吧,效果如下所示: 示例中使用了一个QTextEdit控件:textEdit和两个QPushButton
@TOC1 控件之间的伙伴关系1.1 什么是伙伴关系?其实说白了就是控件之间的关联关系,就是一个控件可以控件另一个控件;比如某些窗口菜单的快捷键等。1.2 如何来设置伙伴关系?...可以使用通过Qt Designer中的Edit-编辑伙伴来实现;图片1.3 一个实例拖动一个From Layout:图片在From Layout中放置两个Label,两个Text Edit,一个PushButton...:图片然后对它们分别命名如下:图片在用户名后设置ALT+A,密码设置ALT+B:图片点击Qt Designer中的Edit-编辑伙伴,按住鼠标左键,拖动控件之间的关系即可:图片保存为test013_partner.ui...就是通过Tab键来控制鼠标焦点的顺序;比如几个文本框,鼠标首次焦点定位在第一个框,按Tab键就会定位到下一个文本框。2.2 如何设置Tab顺序?...通过Edit-编辑Tab顺序来实现;比如先拖动几个Line Edit:图片通过预览后,按住Tab键来观察鼠标的定位情况,是按照从第一个文本框到最后一个:图片点击Edit-编辑Tab顺序,可以看到默认的Tab
ini 代码解读复制代码# 创建一个 QFormLayout 实例layout = QFormLayout()# 添加一些字段到布局中layout.addRow("姓名:", QLineEdit())...# 直接在 addRow 中创建 QLineEditlayout.addRow("年龄:", QLineEdit())# 可以先创建控件,然后把它们作为参数传递给 addRowemailLabel =...QLineEdit - 单行文本输入框。...self.onTextChanged) #当光标位置改变时发出此信号self.tab1_TextEdit_reply.selectionChanged.connect(self.onReturnPressed) # 当文本的选择区域变化时发出此信号...def selectionChanged(self, i): text = self.combo.currentText() # 获取当前选中的文本并通过弹窗显示 print(f'选中的是
(我们以后再研究菜单) 文本框(Textboxes) Qt的文本框控件是QLineEdit;它允许用户输入编辑单行的简单文本,其构造器有如下两种: 1 QLineEdit(parent=None) 2...QLineEdit(text, [parent=None]) 他们的不同就是第二个允许用text参数设置包含的文本。...QLineEdit对象有许多的方法,但是我们只关心几个最基本的。你可以使用text()方法取回文本,用setText(text)设置文本,使用setMaxLength(chars)设置最大可输入长度。...绝对位置 去设置widget的无力位置,你需要使用widget的move(x, y)方法;x和y是水平和垂直距离,这个距离是从外框(form)的左上角到widget的左上角。...为一个布局中添加另一个布局,使用该布局容器的addLayout方法,例如: 1 layout = QVBoxLayout() 2 sub_layout = QHBoxLayout() 3 4 # .
在使用 PyQt 开发桌面应用程序时,使用 Qt Designer 可以大大加快 UI 的设计过程。...你可以在 Qt Designer 中设计 UI,然后将其加载到 PyQt 中,从而实现分离的 UI 和逻辑代码。...问题背景如何将一个简单的 Qt Designer 窗体加载到用 PySide 创建的 Qt 应用程序中。...解决方案首先,使用 Qt Designer 创建一个简单的窗体,并将生成的代码从 .ui 文件复制到 .py 文件中。...这两种方式都可以让我们在 PyQt 应用程序中轻松使用 Qt Designer 设计的界面,并将界面设计和业务逻辑分离。
QtDesigner中定义 定义内置信号槽 图1 QtDesigner中的信号槽定义 图1中,蓝色箭头的窗口中显示已有的信号槽,由于现在我们还没编辑任何信号槽,故此窗口中没有任何信号槽的定义。...图2 定义信号槽 进入信号槽编辑模式后,将鼠标从取消拖动到窗口的空白位置(如图2所示),松开鼠标,即弹出信号槽配置连接对话框(如图3所示)。...图3 信号槽配置连接对话框 将 “显示从QWidget继承的信号和槽选中”,即可显示所有的信号和槽。这里我们要使“取消”键按下时,窗口关闭。...我们将上一节的对话框,扩展如下: # -*- coding: utf-8 -*- from PyQt5.QtWidgets import QWidget,QFormLayout,QLabel,QLineEdit...,使其成为类变量,使得可以将文本发送出去。 第21、22行,定义两个按钮的信号槽。 第24~26行,定义“确定”键单击的事件。函数用“lambda:”进行包装,否则会出错。
-- coding: utf-8 -- ''' 【简介】 PyQt5中 QLineEdit的输入掩码例子 ''' from PyQt5.QtWidgets import QApplication,...QLineEdit, QWidget, QFormLayout import sys class lineEditDemo(QWidget): def init(self, parent=None)...: super(lineEditDemo, self).init(parent) self.setWindowTitle("QLineEdit的输入掩码例子") flo = QFormLayout...() pIPLineEdit = QLineEdit() pMACLineEdit = QLineEdit() pDateLineEdit = QLineEdit() pLicenseLineEdit...= QLineEdit() pIPLineEdit.setInputMask("000.000.000.000;_") pMACLineEdit.setInputMask("HH:HH
-- coding: utf-8 -- ''' 【简介】 PyQt5中 QLineEdit的验证器例子 ''' from PyQt5.QtWidgets import QApplication, QLineEdit..., QWidget, QFormLayout from PyQt5.QtGui import QIntValidator, QDoubleValidator, QRegExpValidator from...QWidget): 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
合并单元格 设置单元格大小 显示网格线 设置图片、更改图片大小 获取单元格内容 右键菜单 1.5 QTreeView 点击事件 系统定制模式 2....QApplication(sys.argv) main = listViewDemo() main.show() sys.exit(app.exec_()) 1.3 QListWidget 用于从列表中添加删除条目...on_tree_clicked(self): item = self.tree.currentItem() print(item.text(0), item.text(1)) 系统定制模式 使用...() layout.addRow("姓名", QLineEdit()) layout.addRow("地址", QLineEdit()) self.setTabText...() layout.addRow("姓名", QLineEdit()) layout.addRow("地址", QLineEdit()) self.stack1
使用绝对位置布局 3. QBoxLayout addStretch() 添加可伸缩控件 4. QGridLayout 5. QFormLayout 6. 嵌套布局 7....布局管理 QHBoxLayout 水平 QVBoxLayout 垂直 QGridLayout 网格 QFormLayout 表单布局,两列的形式 addLayout() 插入子布局 addWidget(...) 在布局中插入控件 2....使用绝对位置布局 使用 (x, y) 坐标 import sys from PyQt5.QtWidgets import QWidget, QLabel, QApplication class Example..., QFormLayout, QLineEdit, QLabel class Winform(QWidget): def __init__(self, parent=None):
QTabWidget类中的常用方法如下表所示: QTabWidget类中的常用信号如下表所示: 通过示例,了解QTabWidget容器控件类的使用方法,效果如下所示: 示例中,一个表单的内容分为三组...,每一组小控件都显示在不同的选项卡中。...通过示例,了解QStackedWidget容器控件类的使用方法,效果如下所示: 示例中,在QStackedWidget对象中填充了三个子控件。每个子控件都可以有自己的布局,包含特定的表单元素。...QStackedWidget控件不能在页面之间切换,它与当前选中的QListWidget控件中的选项进行连接。...QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件
如果输入的姓名长度超过5个字符或包含非字母字符,则输入框背景变为红色;否则,背景变为绿色用户可以使用数字选择器输入年龄用户可以在输入框中输入身份证号,如果输入的身份证号长度超过18个字符或包含非数字字符...# 初始化刷新 self.update_ui(get_time_str()) def on_name_input(self): # self.name.text() 获取输入的文本...,不使用MVC模式的实现存在以下代码风格上的问题:数据处理、界面显示和用户输入处理的代码混合在MyMainWindowUI类中。...方法中,从self.backups中取出最近一次的备份数据进行恢复,但是在各个输入事件(如on_name_input、on_age_input等)中,又将恢复后的数据添加到了self.backups中,..._on_restore_button_clicked_) def _on_name_input_(self): # self.name.text() 获取输入的文本 if
布局管理是GUI编程中的重要部分。布局管理是一种如何在应用窗口上放置组件的方法。 我们可以通过两种基本方式来管理布局。 绝对定位和布局类。...上文我们提到PyQt编程中的绝对定位,今天我们来谈谈另外一种布局方式-窗口布局。 使用四种窗口布局管理界面控件布局是组织窗口小部件的首选方式。...QGridLayout 栅格布局管理器(QGridLayout):用网格的形式,把程序中添加的控件以一定的矩阵形式进行排列。 如下所示: ?...QFormLayout 表单布局管理器(QFormLayout):在显示窗口中,以两列的形式排列所添加的控件。 如下所示: ?..., self.label_2) 这里的代码含义是创建2个标签控件,2个文本控件,将每个标签控件和一个文本控件进行匹配。
领取专属 10元无门槛券
手把手带您无忧上云