1. 程式人生 > >Qt自定義控制元件以及控制元件的提升

Qt自定義控制元件以及控制元件的提升

關於

在使用Qt做介面時,通用、常用的控制元件重複設定屬性是件麻煩的事情,比如密碼輸入框,一個密碼輸入框要設定許多屬性,比如密文顯示,長度,只能輸入固定字元型別,禁止複製等等,一個專案裡面有時會用到很多密碼框,每設定一個密碼框就會導致對上面的屬性重複設定,會導致效率低下,最終規範還不統一等問題。

示例

以自定義一個密碼輸入框為例,控制元件提升步驟如下:

1、自定義一個控制元件,繼承自QLineEdit類,如下程式碼:
控制元件標頭檔案PasswordLineEdit.h

#ifndef PASSWORDLINEEDIT_H
#define PASSWORDLINEEDIT_H
#include <QLineEdit> class PasswordLineEdit : public QLineEdit { Q_OBJECT public: PasswordLineEdit(QWidget* parent = 0); }; #endif // PASSWORDLINEEDIT_H

實現檔案PasswordLineEdit.cpp:

#include "PasswordLineEdit.h"

PasswordLineEdit::PasswordLineEdit(QWidget* parent):
    QLineEdit(parent
) { this->setMaxLength(8); this->setEchoMode(QLineEdit::Password);//設定為密碼型別 //禁止拷貝 //輸入字元限制 //等等 }

2、用Qt的Ui設計工具,在一個widget類中新增一個QLineEdit編輯框,如圖所示:
這裡寫圖片描述

3、右鍵m_lineEdit控制元件,選單中選擇提升為:
這裡寫圖片描述

4、按上圖填寫自定義類的名字,標頭檔案,全域性包含打上勾,然後新增:
這裡寫圖片描述

5、點選提升後,就具有自定義控制元件的屬性,空間型別也就變成了PasswordLineEdit型別:
這裡寫圖片描述

執行結果:
這裡寫圖片描述

相關推薦

Qt定義按鈕彈窗控制元件

  一直以為做一個按鈕彈窗控制元件很簡單,可做起來發現並不是那麼順利,折騰了挺長時間的,先看下效果: 前言   嘗試過兩種方案,方案一:使用QToolButton控制元件,我們可以自定義一個widget,然後setMenu設定為該widget;方案二:點選一個

Qt定義控制元件以及控制元件提升

關於 在使用Qt做介面時,通用、常用的控制元件重複設定屬性是件麻煩的事情,比如密碼輸入框,一個密碼輸入框要設定許多屬性,比如密文顯示,長度,只能輸入固定字元型別,禁止複製等等,一個專案裡面有時會用到很多密碼框,每設定一個密碼框就會導致對上面的屬性重複設定,會導

QT定義碰撞效果控制元件

import QtQuick 2.6 import QtGraphicalEffects 1.0 /*  * 作者: yubo  * 功能: CollideAuto  * 描述: 提供一個公共呼叫碰撞動畫控制元件  * 日期: 2018-08-09 &nb

ButterKnife的使用以及定義註解例項化控制元件

現在網上有很多自定義註解,主要就是為了先原先的例項化控制元件太麻煩了,於是有了各種的注意,但是我這裡介紹一個外掛一鍵生成,不需要手寫。配置方法如下開啟Android Studio的File->Pr

Qt定義控制元件的建立與初步使用(二)之圖片上繪製文字、箭頭、曲線

本文目的:編輯自定義控制元件的介面ui,並在圖片上添文字、箭頭、曲線、開啟、儲存等功能。並說明了如何去使用這個編輯好的ui介面控制元件! 上次簡單的說明了如何去建立Qt自定義控制元件,當時還是對其瞭解不夠深刻,現在看來,QT自定義控制元件就是你事先把介面寫好(一般基於QWi

Qt定義控制元件的建立與初步使用

本篇部落格的目的是簡單介紹:建立一個用QLabel類來顯示圖片的自定義控制元件的編寫。在寫自定義控制元件的過程中遇到了很多的難題,但都慢慢解決了,本人對Qt自定義控制元件的認識還不深刻,做的不對的地方,還請大家指出,我會盡快修改,免得誤導他人! 配置:Qt creator5

QT 定義混合控制元件——基於View/Model/Delegate的QTableView/QTreewidget/Combobox實現

QT自定義控制元件,檢視本文章需要具備一定的View/Model基礎知識(沒有也可以看)。本文實現了在一個QTreeWidget中插入一個QTableView,然後再在QTableView的每一個item中插入一個QCombobox,當然知道了方法你可以在任意item中插入任

Qt定義控制元件大全+UI定製+輸入法

做各種各樣的介面的時候,經常需要做一排按鈕用於切換到對應介面,俗稱導航按鈕或者導航選單,參照過各種各樣的主介面導航佈局,特意編寫導航按鈕自定義控制元件,結合各種情況,繼承自QPushButton。已整合在QUC自定義控制元件中。 /** * 導航按鈕控制元件 作者:f

編寫Qt Designer定義控制元件(一)——如何建立並使用Qt定義控制元件

    http://blog.csdn.net/giselite/article/details/12622429   在使用Qt Designer設計窗體介面時,我們可以使用Widget Box裡的窗體控制元件非常方便的繪製介面,比如拖進去一個按鈕,一個文字編輯器等。雖然Qt Designer裡的控制元

Qt定義控制元件之儀表盤1--簡單的貼圖儀表盤

0、前言   學程式首先要輸出hell world,學電子要先來個流水燈。學Qt,那就必須先來個自定義控制元件,若有人問我從哪個下手,我推薦儀表盤,可簡可繁,從低配到高配齊全,可入門也可進階。 1、儀表盤解析 以常見的、傳統的儀表盤為例,分解儀表盤的元素,主要有邊框、刻度、數字、指標(或數

Qt定義控制元件之儀表盤2--QPaint繪製儀表盤

0、前言     前面一篇文章寫道了儀表盤的特點,實現了一個貼圖的儀表盤,屬於低配版本的儀表盤。    主要是有任何改動時候就需要重新設計圖片,不能適配不同控制元件大小,即使讓它自由拉伸,但儀表盤放大縮小時候顯示效果會變差。這篇文章設計了一個自己繪製的儀表盤,有背景錶盤

Qt定義控制元件之儀表盤3--雷達掃描圖

1、設計思想 雷達掃描圖,在影視作品中見到較多,比如飛機雷達、艦艇雷達,有一個掃描線轉圈代表雷達一週旋轉或一個批次的收發,發現目標就在錶盤上標記位置。和汽車儀表盤類似,汽車儀表盤有底盤背景圖、同圓、刻度、刻度值、旋轉的指標。能在汽車儀表盤的基礎上略作修改,比如指標換成帶有餘輝的掃描扇面,就能完成一個雷達掃描圖

c# 定義事件傳參(控制元件資料同步更新)

下面是傳值的視窗程式碼   public partial class Form1 : Form {//自定義一個事件 public event EventHandler SetMsg; public Form1() {

Android定義View--翻書控制元件(一)

0.前言 最近重看了一遍封神演義,感覺QQ閱讀那個翻書的效果挺好的,準備做一個。上週五下午用了兩個小時只寫了一部分功能,以後有時間再完善 1.分析 先看效果圖 這個空間,說簡單也簡單,說難也難,簡單就在於這個效果主要就是依賴canvas的clippath才見到部分canvas,難就難在裁

Silverlight定義資料繫結控制元件應該如何處理IEditableObject和IEditableCollectionView物件

原文: Silverlight自定義資料繫結控制元件應該如何處理IEditableObject和IEditableCollectionView物件 原創文章,如需轉載,請註明出處。   最近在一直研究Silverlight下的資料繫結控制元件,發現有這樣兩個介面IEditableObject

WPF TabIndex預設樣式修改:去掉預設虛線框、定義樣式(Button控制元件為例)

去掉Tab選中預設虛線框 Tab鍵切換時,被選控制元件自動存在虛線框,有時候為了介面美觀,這個虛線框就顯得比較麻煩。廢話不多說,下面是方法。 <Window.Resources> <Style x:Key="MeyFocusVisual" TargetType="{

Ext 6.5.3 classic版本,定義實現togglefield開關控制元件

1,在Ext 6.5.3的classic版中沒有提供開關控制元件,參照modern版中 togglefield開關的實現,繼承滑動器(sliderfield),自定義一個開關按鈕。支援value繫結和點選切換狀態以及表單提交。 2,完成後效果如圖:   3, js程式碼如下:

C#GDI+定義繪製曲線圖表控制元件DataChart 簡單實現 C#GDI+ 繪製線段(實線或虛線)、矩形、字串、圓、橢圓

C#GDI+自定義繪製曲線圖表控制元件DataChart 這裡只說明在計算刻度和曲線繪製的時候 只提供思路,只是做了下簡單的計算,不喜勿噴 還望見諒,高手直接飄過吧。這個要做好,還是需要研究研究演算法的,比如刻度隨著控制元件的大小發生改變的時候計算不同的值,根據刻度範圍來計算刻度以及刻度值等,這裡沒有研究,

定義View——聚焦動畫控制元件

我儘量不打錯別字,用詞準確,不造成閱讀障礙。 這個自定義View是很簡單的一個,效果是在拍攝圖片時的對焦動畫,在自定義SurfaceView中使用這個控制元件就好了。 效果如下: 程式碼: public class FocusView extends Vi

定義餅狀圖控制元件PieView

本篇參考:GcsSloop的安卓自定義View進階-Canvas之繪製圖形 一、分析如上餅狀圖,所需要得資訊如下 各塊的顏色 所有塊量得總和 各個塊得量佔總量的百分比,並通過百分比得到各個塊所佔扇形的弧度 第一個塊得起始角