UI_Label标签属性

#import "AppDelegate.h"


@interface AppDelegate ()


@end


@implementation AppDelegate



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]];

    

   

    //label标签,它主要的作用是用来呈现文字内容,如果UIView子类有自己的初始化方法,就是用自己的,没有就是用父类的。

        //初始化并创建一个label

    UILabel *myLabel = [[UILabelalloc]initWithFrame:CGRectMake(100,100, 100, 100)];

        //label设置背景颜色

    [myLabel setBackgroundColor:[UIColorredColor]];

        //label添加文字内容

    myLabel.text = @"哈哈";

        //显示label在页面上

    [self.windowaddSubview:myLabel];

    

    //设置label的显示行数前提是高度得够。

    //当行数设置为0的时候,文字会根据当前的高度自动换行。

    myLabel.numberOfLines = 2;

    

        //设置文字颜色

    myLabel.textColor = [UIColorgreenColor];

    NSLog(@"字体大小%@",myLabel.font);

        //设置字体大小

    myLabel.font =[UIFontsystemFontOfSize:18];

    

        //得到系统提供的所有字体类型

    NSArray *fonts = [UIFontfamilyNames];

    NSLog(@"字体%@",fonts);

        //设置字体类型和大小

    myLabel.font = [UIFontfontWithName:@"Zapfino"size:10];

    

        //设置label的拆行方式

    myLabel.lineBreakMode =NSLineBreakByTruncatingMiddle;

        //设置文字的对齐方式(枚举类)

    myLabel.textAlignment =NSTextAlignmentCenter;

        //设置阴影颜色

    myLabel.shadowColor = [UIColorblackColor];

        //设置阴影大小

    myLabel.shadowOffset =CGSizeMake(5,5);

    

    

    

  //------------------------------------------------------------

    //显示图片的控件相框

    UIImageView *myImageView = [[UIImageViewalloc]initWithFrame:[UIScreenmainScreen].bounds];

    [self.windowaddSubview:myImageView];

    

    //得到资源图片

    UIImage *myImage = [UIImageimageNamed:@"han.jpg"];

    

    //将图片添加到相框中

    myImageView.image = myImage;

    

    //换层

    [self.windowexchangeSubviewAtIndex:0withSubviewAtIndex:1];

    

    


    self.window.backgroundColor = [UIColorwhiteColor];

    [self.windowmakeKeyAndVisible];

    return YES;

}


#include “tabMain.h” #include “…/global/global.h” #include #define LABEL_W (UI_LABEL_W<<1) #define ELECTRIC_W (UI_ELECTRIC_W<<1) typedef enum { ELECTRIC_IN, LINE_ELECTRIC_SIZE }ENUM_LINE_ELECTRIC; typedef enum { STATUS_DIS, LINE_STATUS_SIZE }ENUM_LINE_STATUS; typedef enum { VOL_CHARGING, CUR_CHARGING, VOL_ACTUAL, //实际电压 LINE_RECTIFIER_SIZE }ENUM_LINE_RECTIFIER; typedef enum { VOL_RFENCE, CUR_REFENCE, VOL_NOMINAL, //标称电压 LINE_INVERTER_SIZE }ENUM_LINE_INVERTER; const char sNameElectric[LINE_ELECTRIC_SIZE][32] = { “充电电量”, }; const char sNameStatus[LINE_STATUS_SIZE][32] = { “充电状态”, }; const char sNameRectifier[LINE_RECTIFIER_SIZE][32] = { "充电电压[V]", "充电电流[A]", "实际电压[V]", }; const char sNameInverter[LINE_INVERTER_SIZE][32] = { “预设电压[V]”, “预设电流[A]”, “标称电压[V]”, }; const char sGroupElectric[GROUP_ELECTRIC_SIZE][32] = { //充电电量 }; const char sGroupStatus[GROUP_STATUS_SIZE][32] = { //充电状态 }; const char sGroupRectifier[GROUP_RECTIFIER_SIZE][32] = { “实时数据”, }; const char sGroupInverter[GROUP_INVERTER_SIZE][32] = { “预设数据”, }; TabMain::TabMain(QWidget *parent) QWidget(parent) { mainBKG = new QWidget(this); //创建一个新的QWidget作为主背景,this表示该控件属于当前窗口/父控件 mainBKG->setProperty(“UIClass”, “DarkBlue”); //设置Qt动态属性,用于CSS样式选择 mainBKG->setGeometry(0, 0, UI_WINDOW_W, UI_WINDOW_H); //(0,0)相对于父窗口的左上角坐标,UI_WINDOW_W, UI_WINDOW_H为标签页的宽和高 int ix = UI_MARGIN_W, gx, gy, groupW, groupH; int iy = UI_MARGIN_H; QGroupBox* group = nullptr; //提前声明分组框指针变量group,不分配内存 //UI_LINE_H为控件行高,UI_SPACE_H为行间距,UI_MARGIN_H为边距 groupW = UI_LINE_W + LABEL_W + 2 * UI_MARGIN_W; //组宽度 = 输入框宽+标签宽+边距 groupH = (LINE_INVERTER_SIZE + 1) * UI_LINE_H + (LINE_INVERTER_SIZE - 1) * UI_SPACE_H + 2 * UI_MARGIN_H; //组高度动态计算 gx = UI_MARGIN_W; //边距宽度 gy = 4*UI_MARGIN_H+ UI_LINE_H; //边距高度(UI_TAB_H - UI_MARGIN_H - groupH;) #if 0 for (int i = 0; i < GROUP_INVERTER_SIZE; ++i) { } #endif //预设数据组 group = new QGroupBox(QString::fromLocal8Bit(sGroupInverter[0]), mainBKG); //创建一个预设分组框(mainBKG指定父对象) group->setProperty("UIClass", "DarkPurple"); group->setGeometry(gx, gy, groupW, groupH); //预设组位置及尺寸 //预设组内部各参数部件位置设置 iy = UI_LINE_H; //初始化预设组内的垂直起始位置 for (int j = 0; j < LINE_INVERTER_SIZE; ++j) { ix = UI_MARGIN_W; QLabel* label = new QLabel(QString::fromLocal8Bit(sNameInverter[j]), group); //水平位置从组内左边距开始,同时获取要显示的数据名称 label->setProperty("UIClass", "White22"); label->setGeometry(ix, iy, LABEL_W, UI_LINE_H); //LABEL_W:标准标签宽 ix += LABEL_W; //水平位置紧接标签右侧 QLineEdit* line = new QLineEdit(group); line->setProperty("UIClass", "White"); line->setGeometry(ix, iy, UI_LINE_W, UI_LINE_H); m_vLineInverter[0].push_back(line); //存储到第一个逆变器容器 iy += UI_LINE_H + UI_SPACE_H; //更新垂直间距=控件高度+行间距 } //实时数据组 gx = UI_WINDOW_W - UI_MARGIN_W - groupW; //计算第二个分组框的水平位置,gy不变 group = new QGroupBox(QString::fromLocal8Bit(sNameRectifier[0]), mainBKG); group->setProperty("UIClass", "DarkPurple"); group->setGeometry(gx, gy, groupW, groupH); iy = UI_LINE_H; for (int j = 0; j < LINE_RECTIFIER_SIZE; ++j) { ix = UI_MARGIN_W; QLabel* label = new QLabel(QString::fromLocal8Bit(sNameRectifier[j]), group); label->setProperty("UIClass", "White22"); label->setGeometry(ix, iy, LABEL_W, UI_LINE_H); ix += LABEL_W; QLineEdit* line = new QLineEdit(group); line->setProperty("UIClass", "White"); line->setGeometry(ix, iy, UI_LINE_W, UI_LINE_H); m_vLineRectifier[0].push_back(line); iy += UI_LINE_H + UI_SPACE_H; } //充电电量组 gx = UI_MARGIN_W; gy = UI_MARGIN_H; groupW = UI_LINE_W + ELECTRIC_W + 2 * UI_MARGIN_W;//单个充电电量组宽度 = 输入框宽+标签宽+边距 groupH = UI_LINE_H + 2 * UI_MARGIN_H; group->setGeometry(gx, gy, groupW, groupH); //使用gx和gy ix = UI_MARGIN_W; iy = UI_MARGIN_H; QLabel* label = new QLabel(QString::fromLocal8Bit(sNameElectric[0]), group); label->setProperty("UIClass", "White22"); label->setGeometry(ix, iy, ELECTRIC_W, UI_LINE_H); ix += ELECTRIC_W; QLineEdit* line = new QLineEdit(group); line->setProperty("UIClass", "White"); line->setGeometry(ix, iy, UI_LINE_W, UI_LINE_H); m_vLineElectric[0].push_back(line); iy += UI_LINE_H + UI_SPACE_H; //充电状态组 gx = UI_WINDOW_W - UI_MARGIN_W - groupW; gy = UI_MARGIN_H; groupW = UI_LINE_W + LABEL_W + 2 * UI_MARGIN_W;//单个充电电量组宽度 = 输入框宽+标签宽+边距 groupH = UI_LINE_H + 2 * UI_MARGIN_H; group->setGeometry(gx, gy, groupW, groupH); //使用gx和gy ix = UI_MARGIN_W; iy = UI_MARGIN_H; QLabel* label = new QLabel(QString::fromLocal8Bit(sNameStatus[0]), group); label->setProperty("UIClass", "White22"); label->setGeometry(ix, iy, LABEL_W, UI_LINE_H); ix += LABEL_W; QLineEdit* line = new QLineEdit(group); line->setProperty("UIClass", "White"); line->setGeometry(ix, iy, UI_LINE_W, UI_LINE_H); m_vLineStatus[0].push_back(line); iy += UI_LINE_H + UI_SPACE_H; } TabMain::~TabMain() { } 你先仔细理解这段代码
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值