本文介绍: 这里值得注意的是,2个单选按钮(QRadioButton)同时放进一个水平布局管理器(QHBoxLayout)中,相当于放进了一个分组器中,此时,2个单选按钮只能同时选中一个.水平布局管理器,顾名思义:放在这个水平布局管理器中的3个控件,只能均匀的排列成一行.代码如下。QHBoxLayout水平布局,QVBoxLayout垂直布局,QFormLayout表单布局管理器,是常用的布局管理器,是用代码编写应用界面必不可少的功能类.不通过设计模式布局界面,而是使用代码把控件,标签,行编辑器等,进行桌面布局.
QHBoxLayout水平布局,QVBoxLayout垂直布局,QFormLayout表单布局管理器,是常用的布局管理器,是用代码编写应用界面必不可少的功能类.
这里值得注意的是,2个单选按钮(QRadioButton)同时放进一个水平布局管理器(QHBoxLayout)中,相当于放进了一个分组器中,此时,2个单选按钮只能同时选中一个.水平布局管理器,顾名思义:放在这个水平布局管理器中的3个控件,只能均匀的排列成一行.代码如下
//添加到水平布局管理器
QHBoxLayout* sexLayout = new QHBoxLayout;
//添加部件,这里把2个单选按钮男女,一起放到了布局管理器中(相当于分组框),此时只能选中一个
sexLayout->addWidget(sexLabel); //标签
sexLayout->addWidget(manBtn); //单选按钮
sexLayout->addWidget(womenBtn); //单选按钮
2.tips
把标签和行编辑器联系起来,建立”伙伴关系”.使用函数setBuddy()使2者连接起来,达到使用快捷键定位到该行编辑器进行输入.详细看如下代码.
不通过设计模式布局界面,而是使用代码把控件,标签,行编辑器等,进行桌面布局.
#include "codelayout.h"
#include <QApplication>
#include <QLabel>
#include <QLineEdit>
#include <QFormLayout>
#include <QRadioButton>
#include <QPushButton>
#include <QSpacerItem>//空格项,分隔控件与控件的距离.
//使用代码进行构建,不使用设计模式进行设计
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
CodeLayout w;
//标签名
QLabel* nameLabel = new QLabel("姓名:(&N)");
QLabel* ageLabel = new QLabel("年龄:(&A)");
QLabel* emailLabel = new QLabel("邮箱:(&E)");
QLabel* numLabel = new QLabel("门牌号码:");
//文本输入框,文本编辑器
QLineEdit* nameLineEdit = new QLineEdit;
QLineEdit* ageLineEdit = new QLineEdit;
QLineEdit* emailLineEdit = new QLineEdit;
QLineEdit* numLineEdit = new QLineEdit;
//设置伙伴关系
nameLabel->setBuddy(nameLineEdit);
ageLabel->setBuddy(ageLineEdit);
emailLabel->setBuddy(emailLineEdit);
//常用于表单,标签布局(水平),布局管理器...前面放标签lable,后面反行编辑器edit
QFormLayout* headerLayout = new QFormLayout;//new 一个对象. QFormLayout(&w)指定w为父窗体
headerLayout->addRow(nameLabel,nameLineEdit);
headerLayout->addRow(ageLabel,ageLineEdit);
headerLayout->addRow(emailLabel,emailLineEdit);
headerLayout->addRow(numLabel,numLineEdit);
QLabel* sexLabel = new QLabel("性别:");
QRadioButton* manBtn = new QRadioButton;
QRadioButton* womenBtn = new QRadioButton;
manBtn->setText("男");
womenBtn->setText("女");
//添加到水平布局管理器
QHBoxLayout* sexLayout = new QHBoxLayout;
//添加部件,这里把2个单选按钮男女,一起放到了布局管理器中(相当于分组框),此时只能选中一个
sexLayout->addWidget(sexLabel);
sexLayout->addWidget(manBtn);
sexLayout->addWidget(womenBtn);
//空格项.分隔控件与控件的距离.提供空白空间使其不紧挨一起
QSpacerItem* spacer = new QSpacerItem(30,30);
QPushButton* okBtn = new QPushButton("确定");
QHBoxLayout* spacerLayout = new QHBoxLayout;
//使确定按钮左右缩短一点
spacerLayout->addItem(spacer);
spacerLayout->addWidget(okBtn);
spacerLayout->addItem(spacer);
//垂直布局管理器.主布局管理器.
QVBoxLayout* mainLayout = new QVBoxLayout(&w);//指定w为父窗体
mainLayout->addLayout(headerLayout);
mainLayout->addLayout(sexLayout);
mainLayout->addItem(spacer); //添加空隙对象
//mainLayout->addWidget(okBtn); //添加部件
mainLayout->addLayout(spacerLayout);//添加确定部件按钮
mainLayout->setMargin(10); //与窗体的间隙
mainLayout->setSpacing(10); //控件间的间隙
//设置窗体布局
w.setLayout(mainLayout);
w.show();
return a.exec();
}
原文地址:https://blog.csdn.net/qq_55359819/article/details/134566720
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_17653.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。