C#-初始窗体程序的控件,属性,事件 123

新创建的窗体可以说是一个空白的窗体,窗体中什么东西都没有,如果想要把窗体设置成像QQ,酷狗等一样拥有丰富功能和画面的窗体应用界面,则需要手动添加,常用的添加方式有两种即拖控件和编写代码,然后设置其相应的属性和事件即可,关于窗体其他的知识不再细说;现在通过设计一个简单的登陆界面来初步了解和使用控件,属性和事件

窗体程序的设计窗口,工具箱和属性窗口

工具箱:里面有拖控件时所需控件,控件也是一个类,所以可以通过代码向窗体中添加控件

Form1(设计)窗口:通过拖控件可以实时看到控件在窗体中的位置,大小,显示的文本等

属性窗口:1)属性:设置选中控件的属性值;2)事件(闪电图标)里面显示选中控件的所有事件

使用代码添加控件的方式以后再说,此次主要说拖控件的方式

拖控件并设置属性值

在工具箱中鼠标左键按住选中的控件拖到窗体中合适位置即可

窗体:设置属性Name值为FLogin 属性Text值为登陆

Button控件:显示为按钮,设置属性Name值为btnLogin/btnPwd 属性Text值为登陆/重置

Label控件:主要为比如文本框等控件显示提示信息的 属性Text值为用户名称/登陆密码

TextBox控件:主要用于输入信息以供事件中获取信息的设置属性Name值为txtLogin/txtPwd

工具箱中的控件以后用到再说,设置控件属性时先选中想要设置的控件,在属性窗口中进行设置,每个属性选中后在窗口的下面会显示其属性的作用信息,自己没事多试试,不再细说

因为窗体和控件都可以由类创建,所以控件与窗体的关系是,每向窗体中拖入一个控件,在窗体类中就会增加一个该控件类型的私有字段

窗体中添加控件字段

窗体/控件的命名规范:如果是窗体一般以F开头;Button控件一般以btn开头;Label控件一般以lb开头;TextBox控件一般以txt开头;然后后面是有意义的英文或者英文缩写,其他的控件命名以后遇到再说;建议以后都这么起名字,编写代码用起来时会非常方便

属性Name值不要起重名了,原因上面刚刚说过,name值主要在代码中使用;Text属性值可以随便取,在button和label中是用于显示控件上面的信息,在textbox中运行后相当于文本框默认值

工具箱中的控件,控件的属性及其事件不会挨个举例说明都是遇到用时再说

例子中为登陆和重置按钮添加单击事件;单击登陆按扭时如果用户名(admin)和密码(123456)正确,两个文本框前景色变蓝即输入的字符变蓝,否则将前景色变红;单击重置按钮时将两个文本框上次填写的内容清空并且将前景色变成默认色;添加事件与编写代码下节再说

超级实用的属性浏览器控件–QtTreePropertyBrowser

Qt库封装了很多控件,种类也比较多,其中容器控件包括:表格、树和列表。

使用过QtDesigner的同学应该都知道,这个工具中有一个属性编辑器,是一个属性浏览器控件,就像vs中控件属性面板一样。

今天我们就来介绍一款使用QTreeWidget封装的属性控件QtTreePropertyBrowser,这个控件现在还没有被Qt正式的收录。

要想使用这个QtTreePropertyBrowser库,首先我们需要去github上去下载源码,然后自行编译。

如下图所示,是github上的代码提交记录,仔细看提交时间,距离现在已经有9年过去了。

因此这个代码编译起来还是比较费劲的,如果觉着编译费劲,也可以直接下载别人已经编译好了的QtPropertyBrowser库,或者留下邮箱我发送我编译好的demo。这里我自己也是想熟悉这个库,并且使用起来,因此自己决定对这个库中的语法错误进行解决,最后顺利到达效果。

源码升级过程中主要参考了Qt5.4.2编译 qtpropertybrowser-2.51(从4修改到5的除错过程)这篇文章,还有我自己处理的几个小问题

使用vs中的qt-addin插件直接打开pro文件,打开工程后,如下图所示。

接下来是修改编译错误,大概有如下9个错误类型,大多都数都可以直接使用全局替换。

移除QApplication::UnicodeUTF8,别忘记移除这个参数之前的逗号,很重要,要不然编译不过。

Qt4到Qt5有一个很大的变化,就是很多QtGui模块中的东西被拆分到了QtWidgets模块中。

这里我们使用vs打开工程后,编译时提示我们模块找不到的话,需要把很多的QtGui改成QtWidgets,就像下面这样

全局替换,直接把Q_TYPENAME替换成typename

全局替换,直接把qVariantValue()替换成qvariant_cast()

点击领取Qt学习资料+视频教程~

Qt5时qFindChildren()被废除了,可以用findChildren()替代

一定要添加上QtWidgets模块,如下图所示,每个工程都需要这样设置

程序编译完成之后,会生成如下几个可执行程序。

尝试运行其中的simple.exe可执行程序,结果如下,看起来是不是还不错。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。