qt5 基础知识

QWidget w
QLineEdit edit;
edit.show();        //如果没有这句,编辑框edit将会显示在父窗口的左上角
edit.setParent(&w); //以w为父窗口并显示在上面
w.show();
Qconnect(&button,SIGNAL(clicked()),&w,SLOT(close())); // 点击button按钮,关闭w窗口。w是对象,&w是窗口

QLineEdit的专属用法

QLineEdit edit;
edit.setText("显示文字"); //显示文字在编辑框上面
edit.setEchoMode(QLineEdit::password); //输入的密码自动变成圆形图案
edit.setEchoMode(QLineEdit::passwordEchoOnEdit); //输入的密码在失焦后变成圆形图案

账号匹配模式(输入一个数字,显示整个账号)

QCompleter completer(StringList()<<"598265430"<<"1710514175");
completer.setFilterMode(Qt::MatchContains); // 只要是包含的内容都可以匹配
edit.setcompleter(&completer); //在编辑框edit上面匹配completer上面的所有字符串,只能以首字符为基准

设置控件位置

edit.setGeometry(30,30,100,30); // x,y,长,高 不是很好
QHBoxLayout layout;                //QH  为横向 QV为纵向
layout.addStretch(1);      //加弹簧固定位置
layout.addWidget(&button);
layout.addspacing(50); //中间隔开50个像素
layout.addWidget(&edit);
layout.addStretch(1);      //加弹簧固定位置
w.setLayout(&layout);

layout可以自己帮你弄好父子关系,可以省略以上的setparent.

QGridlayout 类 (格子类)

QGridlayout layout;

layout.setColumnStretch(3,1); //列的弹簧
layout.setRowStretch(3,1);       // 行的弹簧
layout.setColumnStretch(0,1);
layout.setRowumnStretch(0,1);

layout.addwidget(&button,1,1);
layout.addwidget(&edit,1,2);
layout.addwidget(new Qpushbutton("a"),2,1);
layout.addwidget(new Qpushbutton("b"),2,2);

layout.addwidget(new Qpushbutton("合并"),3,1,1,2); //后面两个参数为合并1行2列



 





原文地址:https://www.cnblogs.com/Ten10/p/4858551.html