當前位置:編程學習大全網 - 源碼下載 - 在Qt編程在lineEdit中輸入完內容後點擊pushbutton並在TextBrowser顯示lineEdit中的內容

在Qt編程在lineEdit中輸入完內容後點擊pushbutton並在TextBrowser顯示lineEdit中的內容

信號槽機制是這樣的:connect(XXX,SIGNAL(...),this,SLOT(YYY));

幫妳實現了妳要的功能:(直接劃到最底下有完整代碼)

1,寫在.h的內容,有三句話,註意位置

在piblic:添加聲明? !!!

QString str; ? //聲明str,用於接收輸入的字符串

在三個權限關鍵字最後另起壹行寫 !!!

public slots://這裏要回車,字體變黃色

void on_clicked();//函數名隨意,括號不能少,有必要時括號裏要寫參數

2,在.cpp中調用。

在.h把鼠標放在on_clicked()右擊,在cpp添加定義(列表第七項下面第二項),系統會自己幫定義,在定義裏寫需要綁定的事件,比如妳這裏要將lineEdit中的字符串在TextBrowser中顯示。

void MainWindow::on_clicked(){

str = ui->lineEdit->text(); //這句獲取輸入的信息,壹定要寫在按鈕槽函數裏,因為按鈕按下之前str存的值為空。這是按鈕觸發了才把值存到str中,沒按之前我們就寫了東西,所以按下了str讀到的是自己寫的內容。寫在外面錯誤的方式就算自己寫了內容運行的時候仍然是空,因為這裏不是動態獲取,自己消化壹下

// ? ui->textBrowser->clear(); //如果希望每壹次按確定後只顯示壹行就用這條語句,先把原來瀏覽器的內容清空,再把結果顯示出來。

ui->textBrowser->append(str+"\n");//這裏寫的功能是把str追加到textBrowser中;我這裏用換行是把第二次的輸入也顯示到瀏覽器中

// ui->textBrowser->setText(str); //這裏也可以用setText方法,效果壹樣

}

3,在主函數寫完整信號槽。

connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_clicked())); ?//連接信號槽事件

//格式:connect(發送信號控件,SIGNAL(控件裏的壹個信號),接收的界面或控件(在同壹頁面壹般是this),SLOT(剛定義的槽函數(函數寫實現的功能));

運行效果圖:

運行的整體效果

輸入第壹句話,顯示的內容

第二句,回車格式在代碼加的

壹樣的,可以輸入任何字符,數字,中文

sentence4

窗口可以拉伸調整的

鼠標放在窗口邊沿,窗口可以放大縮小,任意拉伸。qt application默認的。

頭文件代碼截圖

源文件代碼截圖

ui界面和對象名稱

//頭文件:太啰嗦了,妳自己把啰嗦的刪掉吧,我只是怕初學者會理解不到位,故意啰嗦的

class?MainWindow?:?public?QMainWindow{

Q_OBJECT

public:

explicit?MainWindow(QWidget?*parent?=?0);

~MainWindow();

QString?str;//聲明str,用於接收輸入的字符串

private:

Ui::MainWindow?*ui;

public?slots://這裏要回車,字體變黃色

void?on_clicked();?//函數名隨意,括號不能少,有必要時括號裏要寫參數

};//源文件:

MainWindow::MainWindow(QWidget?*parent)?:QMainWindow(parent),

ui(new?Ui::MainWindow)

{

ui->setupUi(this);

ui->lineEdit->setPlaceholderText(QStringLiteral("Please?input..."));

///*以下兩條語句寫的位置不對,可能會得不到期望效果(不信妳就解除屏蔽看看效果)*///

//QString?str;//創建字符串,錯誤,最好在頭文件聲明

//str?=?ui->lineEdit->text();//獲取lineEdit的文本內容(最初文本內容為空,程序壹運行就把lineEdit的空白存到str了,所有點擊按鈕發現上面是沒有內容的)

connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_clicked()));?//連接信號槽事件

///格式:connect(發送信號控件,SIGNAL(控件裏的壹個信號),接收的界面或控件(在同壹頁面壹般是this),SLOT(剛定義的槽函數(函數寫實現的功能));

}

void?MainWindow::on_clicked()

{

str?=?ui->lineEdit->text();?//這句獲取輸入的信息,壹定要寫在按鈕槽函數裏,因為按鈕按下之前str存的值為空或者未知。

//?ui->textBrowser->clear();?//如果希望每壹次按確定後只顯示壹行就用這條語句,先把原來瀏覽器的內容清空,再把結果顯示出來。

ui->textBrowser->append(str+"\n");//這裏寫的功能是把str追加到textBrowser中;我這裏用換行是把第二次的輸入也顯示到瀏覽器中

//?ui->textBrowser->setText(str);?//這裏也可以用setText方法,效果壹樣

}

  • 上一篇:#軟件工程師#介紹壹兩個妳們以前做過的項目
  • 下一篇:股票中VHF技術指標的公式是什麽?如何設置到交易軟件中去?
  • copyright 2024編程學習大全網