資源描述:
《QtCreator實(shí)現(xiàn)狀態(tài)欄顯示》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、專(zhuān)業(yè):嵌入式專(zhuān)業(yè)《Qt》Q(chēng)tCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)功能:在程序主窗口Mainwindow中,有菜單欄,工具欄,中心部件和狀態(tài)欄。前面幾個(gè)已經(jīng)講過(guò)了,這次講解狀態(tài)欄的使用。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:1.我們?cè)趍ainwindow.h中做一下更改。加入頭文件包含:#include加入私有變量和函數(shù):QLabel*first_statusLabel;//聲明兩個(gè)標(biāo)簽對(duì)象,用于顯示狀態(tài)信息QLabel*second_statusLabel;voidinit_statusBar();
2、//初始化狀態(tài)欄加入一個(gè)槽函數(shù)聲明:voiddo_cursorChanged();//獲取光標(biāo)位置信息QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:2.在mainwindow.cpp中加入狀態(tài)欄初始化函數(shù)的定義。voidMainWindow::init_statusBar(){QStatusBar*bar=ui->statusBar;//獲取狀態(tài)欄first_statusLabel=newQLabel;//新建標(biāo)簽first_statusLabel->setMinimumSize(150,20);//設(shè)置標(biāo)簽最小尺寸
3、QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:2.在mainwindow.cpp中加入狀態(tài)欄初始化函數(shù)的定義。(續(xù))first_statusLabel->setFrameShape(QFrame::WinPanel);//設(shè)置標(biāo)簽形狀first_statusLabel->setFrameShadow(QFrame::Sunken);//設(shè)置標(biāo)簽陰影QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:2.在mainwindow.cpp中加入狀態(tài)欄初始化函數(shù)的定義。(續(xù))second_statusLabel=newQLabel;se
4、cond_statusLabel->setMinimumSize(150,20);second_statusLabel->setFrameShape(QFrame::WinPanel);second_statusLabel->setFrameShadow(QFrame::Sunken);QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:2.在mainwindow.cpp中加入狀態(tài)欄初始化函數(shù)的定義。(續(xù))bar->addWidget(first_statusLabel);bar->addWidget(second_sta
5、tusLabel);first_statusLabel->setText(tr("歡迎使用文本編輯器"));//初始化內(nèi)容second_statusLabel->setText(tr("yafeilinux制作!"));}這里將兩個(gè)標(biāo)簽對(duì)象加入到了主窗口的狀態(tài)欄里,并設(shè)置了他們的外觀和初值。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:3.在構(gòu)造函數(shù)里調(diào)用狀態(tài)欄初始化函數(shù)。init_statusBar();這時(shí)運(yùn)行程序,效果如下。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:4.在mainwindow.cpp中加入獲取光標(biāo)
6、位置的函數(shù)的定義。voidMainWindow::do_cursorChanged(){introwNum=ui->textEdit->document()->blockCount();//獲取光標(biāo)所在行的行號(hào)constQTextCursorcursor=ui->textEdit->textCursor();intcolNum=cursor.columnNumber();//獲取光標(biāo)所在列的列號(hào)QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:4.在mainwindow.cpp中加入獲取光標(biāo)位置的函數(shù)的定義。(續(xù))fir
7、st_statusLabel->setText(tr("%1行%2列").arg(rowNum).arg(colNum));//在狀態(tài)欄顯示光標(biāo)位置}這個(gè)函數(shù)可獲取文本編輯框中光標(biāo)的位置,并顯示在狀態(tài)欄中。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:5.在構(gòu)造函數(shù)添加光標(biāo)位置改變信號(hào)的關(guān)聯(lián)。connect(ui->textEdit,SIGNAL(cursorPositionChanged()),this,SLOT(do_cursorChanged()));這時(shí)運(yùn)行程序。效果如下。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)
8、程:效果如下。QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:6.在do_file_Load函數(shù)的最后添加下面語(yǔ)句。second_statusLabel->setText(tr("打開(kāi)文件成功"));QtCreator實(shí)現(xiàn)文本編輯實(shí)現(xiàn)過(guò)程:7.在saveFile函數(shù)的最后添加以下語(yǔ)句。second_statusLabel->setText(tr("保存文件成功"));QtCreator實(shí)現(xiàn)文本