QT控件的使用

控件的使用

在這裏所要講到的,就是快速開發中的控件的使用。bash

  • 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()));
複製代碼
  • 控件與信號槽的使用ide

  • 先使用QSpinBox控件和QSlider控件建立佈局(以下圖所示): 函數

  • 下面是控件基於信號槽的使用(代碼以下):佈局

  • 位於QTGUITest.h中ui

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的官方文檔進行查閱。this

  • 獲取到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();
複製代碼
相關文章
相關標籤/搜索