控件的使用
在這里所要講到的,就是快速開發中的控件的使用。
- QDateEdit
- 控件效果為:
- 例如,使用其
獲取系統時間
(代碼如下):
//獲取系統日期
QDateTime sysTime = QDateTime::currentDateTime();
QStringList list = sysTime.toString("yyyy-MM-dd").split('-');
ui.dateEdit->setDate(QDate(list[0].toInt(),list[1].toInt(), list[2].toInt()));
-
控件與信號槽的使用
-
先使用QSpinBox控件和QSlider控件創建布局(如下圖所示):
-
下面是控件基於信號槽的使用(代碼如下):
-
位於QTGUITest.h中
private slots:
void slider1_valuechanged(int value)
{
ui.spinBox->setValue(value);
}
void slider2_valuechanged(int value)
{
ui.spinBox_3->setValue(value);
}
- 位於QTGUITest.cpp中
//關聯QSlider控件
connect(ui.horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(slider1_valuechanged(int)));
connect(ui.horizontalSlider_3, SIGNAL(valueChanged(int)), this, SLOT(slider2_valuechanged(int)));
- 最后實現的效果如下:
- 鍵盤輸入實現
- 在QTGUITest.h中添加函數
private void keyPressEvent(QKeyEvent *);
- 然后在QTGUITest.cpp中實現
void QTGUITest::keyPressEvent(QKeyEvent *e)
{
switch(e->key())
{
//減法鍵
case Qt::Key_Minus:
ui.textBrowser->insertPlainText("-");
break;
//乘法鍵
case Qt::Key_Asterisk:
ui.textBrowser->insertPlainText("*");
break;
//除法鍵
case Qt::Key_Slash:
ui.textBrowser->insertPlainText("/");
break;
//取模鍵
case Qt::Key_Percent:
ui.textBrowser->insertPlainText("%");
break;
//乘方鍵
case Qt::Key_AsciiCircum:
ui.textBrowser->insertPlainText("^");
break;
}
}
上面的的Key的鍵位還有很多種,可以去參照QT的官方文檔進行查閱。
- 獲取到textBrower里面的內容並將其轉化為char*類型
QString str = ui.textBrowser->toPlainText();
QByteArray ba = str.toLatin1();
ch = ba.data();
- 將char*轉換為QString的方式
char c3[MAX];
QByteArray b2 = QByteArray(c3);
QString s2 = QString(b2)
- int類型轉換為QString類型
int _mStackSize;
QString s3 = QString::number(_mStackSize);
- 實現鍵盤上的backspace鍵
QTextCursor cursor;
cursor = ui.textBrowser->textCursor();
cursor.deletePreviousChar();