1. 程式人生 > >【QT】QT從零入門教程(八):QT常用控制元件 [QLabel、QPushButton、QLineEdit、QTextEdit]

【QT】QT從零入門教程(八):QT常用控制元件 [QLabel、QPushButton、QLineEdit、QTextEdit]

  本節介紹一些常用的控制元件,是在“影象處理自編軟體”中用到的幾種,包括QLabel、QPushButton、QLineEdit、QTextEdit、QSlider、QSpinBox、 QRadioButton、QComboBox,下面逐一進行介紹QLabel、QPushButton、QLineEdit、QTextEdit,其餘見下文。

// 接上文,在DockWidget停靠視窗上新增控制元件,如果在主視窗新增控制元件,刪除引數dock_Geom或是將其改為this即可
QLabel *label = new QLabel(tr("label"), dock_Geom); // QLabel文字框,可用於顯示文字和影象,如果想在主視窗建立控制元件,第二個引數QWidget *parent改為this即QLabel *label = new QLabel(tr("label"), this);
QPushButton *button = new QPushButton(tr("按鈕"),dock_Geom); // QPushButton按鈕 connect(button, SIGNAL(clicked()), this, SLOT(slot_button())); QLineEdit *lineEdit = new QLineEdit(tr("Line"), dock_Geom); // 單行文字輸入框 lineEdit->setReadOnly(true); // 設定只讀 QTextEdit *
textEdit = new QTextEdit(tr("Text"), dock_Geom); // 可編輯多行文字框, textEdit->textCursor().movePosition(QTextCursor::End); // 垂直滾動條自動跟蹤到最底部 textEdit->setWordWrapMode(QTextOption::NoWrap); // 新增水平滾動條 textEdit->setReadOnly(true); // 設定只讀 textEdit->
append("第1行"); // 換行顯示 textEdit->append("第2行"); // 佈局 label->move(50, 50); // 設定位置 button->move(200, 50); lineEdit->move(50, 100); textEdit->move(50, 150); textEdit->resize(200, 100);

Qlabel

  QLabel提供了一個文字或影象的顯示,沒有提供使用者互動功能。

純文字: 使用setText()設定一個QString
富文字: 使用setText()設定一個富文字的QString
影象: 使用setPixmap()設定一個影象
動畫: 使用setMovie()設定一個動畫
數字: 使用setNum()設定int或double,並轉換為純文字。

文字對齊方式

預設的標籤文字對齊方式為:左對齊、垂直居中,可以通過setAlignment來設定,
如居中對齊:setAlignment(Qt::AlignCenter);

文字自動換行

setWordWrap(true);
當文字過長時,可設定自動換行。要注意,如果是英文單詞換行,有空格才能換行。如“abcdefghijklmn”與“abcdefg
hijklmn”,前者不換行,後者過長時會在空格處自動換行。

顯示數字

pLabel->setNum(0.1);

顯示影象

QPixmap *pixmap= new QPixmap (“../Images/pic.png”);
pLabel->setPixmap(pixmap);
pLabel->setFixedSize(100, 100);
pLabel->setScaledContents(true);

顯示動畫

QMovie *pMovie = new QMovie(“../Images/movie.avi”);
pLabel->setMovie(pMovie);
pLabel->setFixedSize(135, 200);
pLabel->setScaledContents(true);
pMovie->start();

QpushButton

  QPushButton是一個按鍵類。

class Q_GUI_EXPORT QPushButton : public QAbstractButton
{
Q_OBJECT

}

建構函式:

QPushButton ( QWidget * parent = 0 ) QPushButton ( const
QString & text, QWidget * parent = 0 ) QPushButton ( const QIcon &
icon, const QString & text, QWidget * parent = 0 )

常用屬性和方法:

(1) QString text () const:返回按鍵上的文字;
(2) void setText ( const QString & text ):設定按鍵上的文字;
(3) bool autoDefault() const;:autoDefault屬性,它會影響按鍵的外觀;
(4) void setAutoDefault(bool);:設定autoDefault屬性;
(5) bool isDefault() const;:default屬性,僅在Dialog中此屬性有效;
(6) void setDefault(bool);:設定default屬性;
(7) void setFlat(bool);:設定FLAT屬性
(8) bool isFlat() const;:設定按鍵的外觀是否有突起。

QLineEdit

  QLineEdit是一個單行文字輸入框,允許使用者輸入和編輯單行純文字,提供了很多有用的編輯功能,包括:撤消和重做、剪下和貼上、以及拖放。常用於輸入密碼,如改變輸入框的echoMode()並設定為 “只寫”。可用maxLength()限制文字的長度。

void setText() 設定文字
QString text() 獲取文字。
void setSelection()或selectAll() 選中文字,選中的文字可以被cut()、copy()和paste(),
void setAlignment() 設定文字的對齊方式。
QString displayText() 返回顯示的文字。
void setMaxLength(int) 設定允許的最大長度,多餘部分截斷
void setReadOnly(bool) 設定是否只讀

QTextEdit

  QTextEdit是一個多行文字輸入框,能顯示多行文字內容,當文字內容超出控制元件顯示範圍時,可以顯示水平和垂直滾動條。

設定多行文字框的內容:

textEdit->setPlainText(“12345\nabcdef”);

獲取多行文字框的內容:

QString str = textEdit->toPlainText();

垂直滾動條自動跟蹤到最底部

textEdit->textCursor().movePosition(QTextCursor::End);

新增水平滾動條

textEdit->setWordWrapMode(QTextOption::NoWrap);

設定只讀

textEdit->setReadOnly(true);

換行顯示

textEdit->append(“換行”);

相關推薦

QTQT入門教程()QT常用控制元件 [QLabelQPushButtonQLineEditQTextEdit]

  本節介紹一些常用的控制元件,是在“影象處理自編軟體”中用到的幾種,包括QLabel、QPushButton、QLineEdit、QTextEdit、QSlider、QSpinBox、 QRadioButton、QComboBox,下面逐一進行介紹QLabel

QTQT入門教程(十)QT佈局管理QLayout

  介紹完常用控制元件之後,我們發現,之前控制元件的大小位置都是通過resize()、move()來設定的,很不方便,當你修改某個控制元件的位置時,其他控制元件也需要進行調整,容易出現牽一髮而動全身的情況。   QT提供了類QLayout進行佈局管理,能很好解

QTQT入門教程(九)QT常用控制元件 [QSliderQSpinBoxQComboBoxQRadioButton]

QSlider 滑動條與QSpinBox微調框 (這裡只貼出控制元件的基本用法,需要時再查閱資料。) QSlider *slider = new QSlider(Qt::Horizontal); // 建立水平滑動條 slider->setRange

QTQT入門教程(四)選單欄工具欄狀態列

  選單欄、工具欄、工作列是軟體中常見的元件,本節將會講解如何建立選單欄並生成一級選單、二級選單,如何在工具欄中新增圖示和控制元件,如何在工作列中顯示文字。 標題及圖示 // 標題大小 setWindowTitle("影象處理自編軟體 by

QTQT入門教程(六)QDockWidget停靠視窗

QDockWidget   上節我們引出了QDockWidget的概念,這節進行講解並加以引用。   常用函式:   1、addDockWidget:新增停靠控制元件,用於指定或更改停靠控制元件的位置以及方向。 void QMainWindow::ad

QTQT入門教程(五)影象檔案操作 [新建開啟儲存]

  前文已經講解了選單欄、工具欄、工作列的實現方法,下面我們對程式進行完善。實現功能為:為軟體新增“檔案”選單,並在下拉列表上新增”新建”、 ”開啟”、 ”儲存”、 ”另存為”、 ”關閉”,並在工具欄加上“新建”、“開啟”、“儲存”圖示。 程式碼 /

無廢話MVC入門教程[MvcPager分頁控制元件的使用]

MVC入門系列教程-視訊版本,已入駐51CTO學院,文字+視訊學效果更好哦。視訊連結地址如下: 點我檢視視訊。另外,針對該系列教程博主提供有償技術支援,群號:226090960,群內會針對該教程的問題進行及時解答,公用性問題統一講解。學習.NET MVC 只看在《無廢話系列》足夠了,《無廢話系列》簡單、快速、

QTQT入門教程(十一)QT自定義視窗

  首先是借鑑了網上的部落格,實現無邊框,自由拖動的自定義視窗效果。 #ifndef CUSTOMWINDOW_H #define CUSTOMWINDOW_H #include <QtGui> #include <QtWidg

Python入門教程 | 在不同的作業系統中安裝Python程式設計環境

Python是一種跨平臺的程式語言,這意味著它能夠執行在所有主要的作業系統中,那麼我們所熟知的作業系統包括:Windows、MacOs、 Linux。那麼今天要講的就是如何在每個作業系統中成功的安裝python. 一、在Windows系統中搭建Python程式設計環境 01.下

javaJavaFX開始實現拼圖小遊戲

最近java課老師佈置了一個作業:製作一個拼圖小遊戲,關鍵老師自己說javaGUI程式設計沒用,講課的時候好像跳過了(沒去上課不過我猜應該沒講吧),現在又叫我們做這些,實在是哭笑不得。 得了吧,老師的任務只能老老實實完成對吧,但是我又想到像Swing這些工具包已經基本上被淘汰了,做出來的頁面有點

轉載LoadRunner效能測試入門教程詳解

第一章:效能測試基礎1-1. 大話效能測試效能測試使用自動化測試工具對產品按一定的效能指標進行測試,解決效能瓶頸,給使用者最好的體驗。效能測試的時代背景,作用BAT網站(baidu),軟體(T),遊戲......金融( 銀行,證券系統),教育(教務系統),交通(12306)效能測試基本流程 效能測試需求分析

專欄 - vue+webpack+axios 入門教程

vue+webpack+axios 入門教程 vue 的入門教程很多,但是質量參差不齊。我2016年寫的教程點選量平均每篇已經超過2萬。可見大家求知若渴。因此,本人決定,重寫這個系列的博文,力求以簡明、清晰、準確的圖文以及程式碼描

Scala開始使用Intellij IDEA寫hello world

在之前的文章中,我們介紹瞭如何使用Scala IDE也就是eclipse中整合的Scala開發外掛來進行Scala語言程式的開發,在使用了一段時間之後,發現eclipse對Scala的支援並不是很好。使用者體驗比較差,比如聯想速度比較慢等。由於在公司一直使用的Scala開發工具是Intellij IDEA(

微軟的Python入門教程(一)

Overview >概述 The series of videos on Channel 9 is designed to help get you up to speed on Python. If you're a beginning developer who's looking to add

稀飯react native 實戰系列教程之自定義原生UI元件

上一節,講了關於RN的自定義原生模組,本節是關於自定義原生UI元件,學習完本節,你將瞭解到原生UI元件的開發流程,以及js如何向native傳送命令和native如何向js傳送事件。 原生UI元件之VideoView視訊播放器開發 React Nativ

機器人學機器人開源專案KDL原始碼學習(6)笛卡爾空間軌跡規劃圓弧過渡姿態插值梯形速度pathlength

  本文的內容是對另一篇文章(連結)的補充,對Trajectory_example.cpp涉及到的原理作一些簡單的講解,主要內容是:   (1)機器人路徑規劃圓弧過渡的原理;   (2)機器人路徑規劃梯形波的原理;   (3)機器人末端姿態插值的方法(角-軸);   (4)KDL

QRCodeView更專注的 Android 二維碼掃描的控制元件

前言 QRCodeView 基於 Google 的 zxing 進行二次開發,簡化二維碼的相關操作、優化識別速度。由於整個 zxing 框架中不僅包含了二維碼識別相關的程式碼,還包括其他格式如條形碼等等的程式碼,體量較大,實際開發中一般只需要使用二維碼,故本

IOS 初級開發入門教程(四)基礎控制元件使用小練習

前言看完前面3章的內容,基本對IOS開發有一些認識了,這章我們開始動手去實踐做點小練習,學習如何建立並設定標籤和按鈕(Label & Button)的相關屬性,以及通過一個互動式的案例演示動作和輸出口的使用。系列文章:建立Swift新專案使用Label和Button1

[ PyQt入門教程 ] PyQt5中資料表格控制元件QTableWidget使用方法

 如果你想讓你開發的PyQt5工具展示的資料顯得整齊、美觀、好看,顯得符合你的氣質,可以考慮使用QTableWidget控制元件。之前一直使用的是textBrowser文字框控制元件,資料展示還是不太美觀。其中QTableWidget是PyQt5程式中常用的顯示資料表格的控制元件,顯示的基本效果如下

Winform/C#入門程式設計之第二部分常用控制元件(九進度條控制元件ProgressBar)

簡介:         介紹進度條控制元件ProgressBar。常用於上傳、下載等,來體現進度。給使用者提示當前執行的進度,防止被認為介面卡主或宕機。   介紹: 1.屬性 常用屬性