QT控件的使用


控件的使用

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

  • 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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM