Qt 4 学习1
菜鳥一枚,正在學習C++ Gui Qt4,整理很零碎,歡迎批評指正
?
1.窗口標題:
QWidget *window = new QWidget;
window->setWindowTitle("Enter Your Age");
****************************************
關于標題的補充:
在main函數中XX->show生成的窗口是關于xx,如果在子函數中,可以這么設置
setWindowTitle(tr("Fnd"));,沒法使用setwindow=new QWidget(tr("Fnd"))或setwindow=new QString(tr("Fnd"))because沒法賦值
2.滑塊和微調框的應用
QSpinBox *spinBox = new QSpinBox;
??? QSlider *slider = new QSlider(Qt::Horizontal);豎直是Vertical
??? spinBox->setRange(0, 130);
??? slider->setRange(0, 130);
3.文本框設置
? ? label = new QLabel(tr("Find &what:"));
4.編輯行
??? lineEdit = new QLineEdit;
??? label->setBuddy(lineEdit);
5.單選框
??? caseCheckBox = new QCheckBox(tr("Match &case"));
??? backwardCheckBox = new QCheckBox(tr("Search &backward"));
6.按鈕
??? findButton = new QPushButton(tr("&Find"));
??? findButton->setDefault(true);
??? findButton->setEnabled(false);
??? closeButton = new QPushButton(tr("Close"));
&表明ctrl+&后的字母可實現聚焦作用
7.QObject
QObject::connect(closeButton, SIGNAL(clicked()),?this, SLOT(close()));
//QObject是FindDialog的父對象之一,所以可以省略QObject::
connect(closeButton, SIGNAL(clicked()),?this, SLOT(close()));
8.setlayout
這個函數是對窗口部件尺寸大小和位置
?setLayout(mainLayout)
setlayout是QWidget的子類,QDialog繼承于QWidget,setlayou其實完整應該是QWidget::setLayout
9.比較字符串的時候 Qt::CaseSensitive區分大小寫
Qt::CaseInSensitive不區分大小寫
10.emit用法
?if (backwardCheckBox->isChecked()) {
??????? emit findPrevious(text, cs);
??? } else {
??????? emit findNext(text, cs);
??? }
emit是將信號findnext或信號findprevious發射出去;
說白了,就是調用findprevious或者findnext信號對應的槽函數,emit之前,在某個地方,肯定有connect把信號和槽進行關聯,關聯了之后,emit某個信號,就相當于調用這個信號connect時所關聯的槽函數,就這么簡單而已。
emit啥事也不干,是給程序員看的
總結
- 上一篇: 计算机图形学——BRDF
- 下一篇: const int * 、int * c