qt5 基礎知識,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列