当前位置: 首页 > news >正文

彩妆网站模板百度app广告

彩妆网站模板,百度app广告,html语言大型网站开发,DW做网站首页滚动图片一.在构造时&#xff0c;就拿到UI元素的指针。这里有很多例子可以参考。基本都是通过GetWidgetFromName拿到&#xff0c;用名字拿到指针。 void UWidget::NativeConstruct() {Super::NativeConstruct();TArray<AActor*> TBActors;UGameplayStatics::GetAllActorsOfClass…

一.在构造时,就拿到UI元素的指针。这里有很多例子可以参考。基本都是通过GetWidgetFromName拿到,用名字拿到指针。

void UWidget::NativeConstruct()
{Super::NativeConstruct();TArray<AActor*> TBActors;UGameplayStatics::GetAllActorsOfClass(GetWorld(), ATableManagerActor::StaticClass(), TBActors);TableManager = Cast<ATableManagerActor>(TBActors[0]);m_BuildFactory = GetGameInstance()->GetSubsystem<UBuildFactory>();m_BuildManagerIns = GetGameInstance()->GetSubsystem<UBuildManagerInstance>();Add = (UButton*)GetWidgetFromName(TEXT("AddButton"));if (Add->IsValidLowLevel()){//绑定Add->OnClicked.AddDynamic(this, &ULZJUserWidget::AddBulid);}//DeleteDelete = (UButton*)GetWidgetFromName(TEXT("DeleteButton"));if (Delete->IsValidLowLevel()){Delete->OnClicked.AddDynamic(this, &ULZJUserWidget::DeleteBuild);}AddTypeChoose = (UComboBoxString*)GetWidgetFromName(TEXT("AddType"));if (AddTypeChoose->IsValidLowLevel()){AddTypeChoose->OnSelectionChanged.AddDynamic(this, &ULZJUserWidget::UpdateAddType);}IDInput = (UEditableText*)GetWidgetFromName(TEXT("ID_Text"));if (IDInput->IsValidLowLevel()){IDInput->OnTextChanged.AddDynamic(this,&ULZJUserWidget::UpdateIDInput);  //按下回车触发}Save = (UButton*)GetWidgetFromName(TEXT("SaveButton"));if (Save->IsValidLowLevel()){Save->OnClicked.AddDynamic(this, &ULZJUserWidget::SaveToDataTable);}//Edit = (UButton*)GetWidgetFromName(TEXT("EditButton"));//if (Edit->IsValidLowLevel())//{//	Edit->OnClicked.AddDynamic(this, &ULZJUserWidget::EditToDataTable);//}BuildInfoPannel = (UPanelWidget*)GetWidgetFromName(TEXT("BuildInfoPanel"));if (BuildInfoPannel->IsValidLowLevel()){BuildInfoPannel->SetVisibility(ESlateVisibility::Hidden);}AreaInput = (UEditableText*)GetWidgetFromName(TEXT("AreaInputText"));if (AreaInput->IsValidLowLevel()){AreaInput->OnTextChanged.AddDynamic(this,&ULZJUserWidget::SetArea);}PriceInput = (UEditableText*)GetWidgetFromName(TEXT("PriceInput"));if (PriceInput->IsValidLowLevel()){PriceInput->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}PopulationInput = (UEditableText*)GetWidgetFromName(TEXT("ResidentPopInput"));if (PopulationInput->IsValidLowLevel()){PopulationInput->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}PosXInput = (USpinBox*)GetWidgetFromName(TEXT("PosX"));if (PosXInput->IsValidLowLevel()){PosXInput->OnValueCommitted.AddDynamic(this, &ULZJUserWidget::UpdatePosX);}PosYInput = (USpinBox*)GetWidgetFromName(TEXT("PosY"));if (PosYInput->IsValidLowLevel()){PosYInput->OnValueCommitted.AddDynamic(this, &ULZJUserWidget::UpdatePosY);}PosZInput = (USpinBox*)GetWidgetFromName(TEXT("PosZ"));if (PosZInput->IsValidLowLevel()){PosZInput->OnValueCommitted.AddDynamic(this, &ULZJUserWidget::UpdatePosZ);}DataToOut = (UButton*)GetWidgetFromName(TEXT("DataOutTable"));if (DataToOut->IsValidLowLevel()){DataToOut->OnClicked.AddDynamic(this, &ULZJUserWidget::DataToCSV);}LoadFromCSV = (UButton*)GetWidgetFromName(TEXT("Load"));if (LoadFromCSV->IsValidLowLevel()){LoadFromCSV->OnClicked.AddDynamic(this,&ULZJUserWidget::DataFromDT);}EditeID = (UEditableText*)GetWidgetFromName(TEXT("UIEditeID"));if (EditeID->IsValidLowLevel()){EditeID->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}EditeArea = (UEditableText*)GetWidgetFromName(TEXT("UIEditeArea"));if (EditeArea->IsValidLowLevel()){EditeArea->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}EditePrice = (UEditableText*)GetWidgetFromName(TEXT("UIEditePrice"));if(EditePrice->IsValidLowLevel()){EditePrice->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}EditPopulation = (UEditableText*)GetWidgetFromName(TEXT("UIEditePopulation"));if (EditPopulation->IsValidLowLevel()){EditPopulation->OnTextChanged.AddDynamic(this, &ULZJUserWidget::SetPrice);}EditPannel = (UPanelWidget*)GetWidgetFromName(TEXT("EditeBuildInfoPanel"));if (EditPannel->IsValidLowLevel()){EditPannel->SetVisibility(ESlateVisibility::Hidden);}CommiteChange = (UButton*)GetWidgetFromName(TEXT("CommiteButton"));if (CommiteChange->IsValidLowLevel()){CommiteChange->OnClicked.AddDynamic(this, &ULZJUserWidget::CommitBuildInfo);}//EditeArea = (UEditableText*)GetWidgetFromName(TEXT(""));////AddTypeChoose = (UPanelWidget*)GetWidgetFromName(TEXT("AddList"));//if (AddTargetType->IsValidLowLevel())//{//	AddTargetType->SetVisibility(ESlateVisibility::Visible);//}InitialAddTypeChoose();TableManager->SetBuildEditUI(this);
}

二.对不同元素进行,事件绑定。这里的AddDynamic基本就是进行绑定的操作。但是不同的元素,需要的绑定参数是不一样的,比如按钮,OnClick,只需绑定点击后回调的函数名,而Text则绑定文本变化后,回调的函数。

如何看,其实要看源码的书写定义就知道了。UButton里,有OnClicked的回调。当然里面还有其他的,比如OnPressed。

再转Evenet的定义

从声明里可以看出,这个是无参,多播的回调。所以只需传Event事件,回调函数。

	Add = (UButton*)GetWidgetFromName(TEXT("AddButton"));if (Add->IsValidLowLevel()){//绑定Add->OnClicked.AddDynamic(this, &ULZJUserWidget::AddBulid);}

同理,再看一个    UComboBoxString 组件

找到Event

转到FOnSelectionChangedEvent的定义,发现绑定需要两个参数,有参动态多播。所以定义Event的,函数需要对应这两个。

这里UpdateType里,就有对于的FString,ESeletctInfo::Type。其实都不用改,把里面的抄到你定义的函数里,把多余的逗号去掉。这个和之前文章的碰撞回调是一样的,也是AddDynamic回调。

void ULZJUserWidget::UpdateAddType(FString SelectedItem, ESelectInfo::Type SelectionType)
{SetAddType(SelectedItem);
}

这里就是选择不同的,添加类型。回传用户选择的类型FString。

http://www.cadmedia.cn/news/12602.html

相关文章:

  • 广西南宁最新消息新闻郑州百度快照优化排名
  • 国家653建筑工程网千度seo
  • 部门网站建设管理典型经验材料日本积分榜最新排名
  • 湖州童装网站bt种子磁力搜索
  • 电子商务概念百度网络优化推广公司
  • 营销网站制作全包seo快速排名优化
  • 山西省建设工程招投标监督网站搜索引擎优化案例分析
  • 网络购物平台网站优化推广方案
  • 江苏质监站网站做资料网图搜索识别
  • 动漫设计与制作专业代码广东seo推广公司
  • 南昌网站维护制作手机制作网页用什么软件
  • 软件测试工程师培训网站seo培训
  • 网站网站集约化建设网络热词2023
  • 长沙短视频代运营公司网络优化有前途吗
  • 生物商城网站建设百度手机助手app安卓版官方下载
  • 山东省建设工程招标中心网站51链
  • 查国外企业用什么软件郑州seo价格
  • 网站的建设公司哪个好北京seo公司wyhseo
  • html css javascipt 网站建设鹤壁搜索引擎优化
  • 一个正规的网站建设公司东莞软文推广
  • 买空间网官网昆明seocn整站优化
  • 快手官方网站音乐人怎么做新闻头条今日最新消息
  • 辽宁建设工程信息网新域名株洲seo快速排名
  • 三亚中国检科院生物安全中心门户网站建设sns营销
  • 射阳住房和城乡建设局网站sem网络推广公司
  • 网站导航栏一般有什么内容怎么建网站
  • 十大网站建设公司关键词歌词打印
  • 怎么制作平台谷歌seo新规则
  • 论网站建设的重要性郑州网站建设推广优化
  • 临西县建设网站seo交流