Qt實踐錄 常見控制項操作示例1

2021-10-02 11:35:48 字數 4085 閱讀 1618

本文記錄qt常見控制項的操作示例。包括:qpushbotton、qlabel、qcombobox、qslider、qspinbox、編輯框(qlineedit/qplaintextedit/qtextedit) 等等。以使用為導向,慢慢補充。

常見的控制項,有很多設定項是相同的。如使能/禁止,可見/不可見,設定提示語,等等。

常用操作:

使能、禁止:

ui->pushbutton->setenabled(true);

ui->pushbutton->setenabled(false);

可見/不可見:

ui->pushbutton->setvisible(true);

ui->pushbutton->setvisible(false);

提示語:

ui->pushbutton->settooltip("button tips");

按鈕扁平:

ui->pushbutton->setflat(true);

設定文字、圖示等:

ui->pushbutton->settext(tr("退出程式"));

ui->pushbutton->seticonsize(ui->pushbutton->rect().size()); // 設定大小

ui->pushbutton->seticon(qicon(":images/exit.png"));

設定字型或大小:

qfont qfont;

qfont.setbold(true); // 這裡設定加粗,其它預設

ui->pushbutton->setfont(qfont);

ui->pushbutton->settext(tr("監聽埠"));

清除文字:

ui->pushbutton->clear();

單擊事件:

控制項名稱為 pushbutton。  

private slots:

void on_pushbutton_clicked();

void mainwindow::on_pushbutton_clicked()

設定:

qpixmap pixmap(":images/logo.png");

ui->label->setpixmap(pixmap);

ui->label->setfixedsize(128, 128);

ui->label->setscaledcontents(true);

新增資料項:

ui->combobox->additem("0"); // 單項新增

qstringlist list;

list.clear();

list << "1200" << "2400" << "4800" << "9600" << "14400" << \

"19200" << "38400" << "43000" << "57600" << "76800" << \

"115200" << "230400" << "256000" << "460800" << "921600";

ui->combobox->additems(list); // 多項新增

設定當前項:

ui->combobox->setcurrenttext(tr("115200"));

獲取當前項:

ui->combobox->currenttext();

horizontal slider 和 vertical slider類似。

設定範圍及當前值:

ui->horizontalslider->setrange(0, 100);

ui->horizontalslider->setvalue(30);

獲取值:

int val = ui->horizontalslider->value();

資料變化事件

private slots:

void on_horizontalslider_valuechanged(int value);

void mainwindow::on_horizontalslider_valuechanged(int value)

設定範圍及當前值:

ui->spinbox->setrange(0, 100);

ui->spinbox->setvalue(30);

獲取值:

int val = ui->spinbox->value();

資料變化事件

private slots:

void on_spinbox_valuechanged(int value);

void mainwindow::on_spinbox_valuechanged(int arg1)

本節的文字框在一定程度上可以認為是乙個各類的控制項,但實際是不相干的,其中 qtextedit 和 qplainedit 繼承自 qabstractscrollarea,而 qlineedit 則繼承於 qwidget。注意,前兩者最終還是繼承 qwidget,但是 qlineedit 直接繼承 qwidget 的。

qlineedit 用於單行文字的顯示和輸入。如賬號、密碼,等。

ui->lineedit->setplaceholdertext("username"); // 佔位字串,用於提示語

ui->lineedit->settext("lineedit"); // 文字

ui->lineedit->setreadonly(true); // 唯讀

ui->lineedit->setalignment(qt::alignhcenter); // 居中對齊

ui->lineedit->setmaxlength(6); // 文字最大長度

// qlineedit::password 文字用圓點替換,

// qlineedit::passwordechoonedit 輸入時顯示,結束後圓點替換

// qlineedit::noecho // 不顯示任何內容,用於長度保護

ui->lineedit->setechomode(qlineedit::password);

事件(控制項名為 lineedit):

on_lineedit_textchanged:輸入文字過程中響應

on_lineedit_editingfinished:文字輸入結束後響應(如按回車或tab鍵)

用於純文字的輸入和顯示。

ui->plaintextedit->setplaceholdertext("sth text here");

ui->plaintextedit->setplaintext("foo");

ui->plaintextedit->setreadonly(true);

// 追加,分別支援html和純文字

用於純文字、富文字的輸入和顯示。

ui->textedit->setplaceholdertext("sth text here");

ui->textedit->setplaintext("foo"); // !! 也有setplaintext函式

ui->textedit->settext("foo");

ui->textedit->setreadonly(true);

qplaintextedit 和 qtextedit 有textchanged事件響應,但無editingfinished事件。兩者支援 html 語法,對於一些場合可提高友好性,如不同類別文字使用不同顏色顯示,加粗、斜體等。

繼承自 qtextedit,唯讀模式,新增導航功能。

ui->textbrowser->sethtml("a

b"); //

ui->textbrowser->settext("hello world\n");

李遲 2020.2.1 年初八 陰天,形勢依然嚴峻,村里大喇叭播報次數頻率加大

Qt實踐錄 TCP網路除錯助手

由於專案需要使用到網路除錯及測試,為了練手,使用 qt 編寫乙個串列埠除錯助手。本文按開發的過程進行簡單介紹,同時也涉及部分用到的模組 詳細 參考原始碼倉庫。在 復用方面,筆者認為 qt 比 mfc 好,比如主視窗 可以直接使用,當然,還要修改工程檔名稱和對應的依賴庫,介面控制項也要重新設計和實現。...

QT學習 常見操作記錄

qt 常見操作隨時更新,方便用到時查閱 設定action圖示路徑,所有資源檔案都會編譯到可執行檔案中,當引用這些資源時,需要使用帶路徑字首 冒號斜線的形式 openaction seticon qicon images hahaxu.png 2.qt5中文亂碼 使用qstringliteral 中文...

Python常見檔案操作的函式示例

coding utf8 python常見檔案操作示例 os.path 模組中的路徑名訪問函式 分隔basename 去掉目錄路徑,返回檔名 dirname 去掉檔名,返回目錄路徑 join 將分離的各部分組合成乙個路徑名 split 返回 dirname basename 元組 splitdrive...