Qt中怎么用Ui文件?

作者&投稿:杭任 (若有异议请与网页底部的电邮联系)
Qt中怎么用Ui文件~

第一步,制作ui文件。
首先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替)。
在制作自己的界面文件时要注意以下几个要点:
1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform.h里
2、要记住主窗体的object name, 因为ui文件提供的类名将以这个form的名字来命名
3、要特别注意你的form选择的基类要和你代码中的窗体类兼容
4、要记得给每个后面需要访问到的控件起一个有意义并且好记的object name, 因为ui文件提供的控件将以这些object name来命名
清楚了以上几点,在代码中使用你的ui文件就会变得非常简单。
第二步,将ui文件加入工程
这一步最简单,只需要修改pro文件,加入FORMS+=myform.ui
qmake -project命令也可以识别后缀名为ui的文件,并将之加入工程。
第三步,在代码中引用ui文件
官方介绍的使用ui文件的方法有三种,一个是直接引用,二是单继承,三是多继承。第一种方法其实很不实用,大家去看一下文档中的例子就可以了;第二种和第三种没有本质的差别,可以并作一类,这里做重点介绍。
ui文件最终会被翻译成标准的C++代码,并存入一个.h文件中,这个过程在调用make之后才进行,所以初始情况下你是看不到这个ui_myform.h文件的,只有经过了make过程该头文件才生成。不过没关系,没有这个文件我们照样能写出正确的代码。
单继承方式简单来说就是在代码中首先要自定义一个子类(后文称为MyForm),该类要从form对应的窗体类(或其兼容的子类)派生;并用ui生成的类定义一个类里的成员变量(后文成文myui)。这样在MyForm的构造函数中可以直接调用myui和myui中的变量和函数,使用起来很方便。举例说明, 比如这里有一个ui文件叫myform.ui, ui文件里定义的窗体名字为BigWidget,上面摆放了一个单行编辑控件叫lineeditName:

第一步,制作ui文件。
首先应该用Qt
Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替)。
在制作自己的界面文件时要注意以下几个要点:
1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform.h里
2、...

第一步,制作ui文件。\x0d\x0a首先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替)。\x0d\x0a在制作自己的界面文件时要注意以下几个要点:\x0d\x0a1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform.h里\x0d\x0a2、要记住主窗体的object name, 因为ui文件提供的类名将以这个form的名字来命名\x0d\x0a3、要特别注意你的form选择的基类要和你代码中的窗体类兼容\x0d\x0a4、要记得给每个后面需要访问到的控件起一个有意义并且好记的object name, 因为ui文件提供的控件将以这些object name来命名\x0d\x0a清楚了以上几点,在代码中使用你的ui文件就会变得非常简单。\x0d\x0a第二步,将ui文件加入工程\x0d\x0a这一步最简单,只需要修改pro文件,加入FORMS+=myform.ui\x0d\x0aqmake -project命令也可以识别后缀名为ui的文件,并将之加入工程。\x0d\x0a第三步,在代码中引用ui文件\x0d\x0a官方介绍的使用ui文件的方法有三种,一个是直接引用,二是单继承,三是多继承。第一种方法其实很不实用,大家去看一下文档中的例子就可以了;第二种和第三种没有本质的差别,可以并作一类,这里做重点介绍。\x0d\x0aui文件最终会被翻译成标准的C++代码,并存入一个.h文件中,这个过程在调用make之后才进行,所以初始情况下你是看不到这个ui_myform.h文件的,只有经过了make过程该头文件才生成。不过没关系,没有这个文件我们照样能写出正确的代码。\x0d\x0a单继承方式简单来说就是在代码中首先要自定义一个子类(后文称为MyForm),该类要从form对应的窗体类(或其兼容的子类)派生;并用ui生成的类定义一个类里的成员变量(后文成文myui)。这样在MyForm的构造函数中可以直接调用myui和myui中的变量和函数,使用起来很方便。举例说明, 比如这里有一个ui文件叫myform.ui, ui文件里定义的窗体名字为BigWidget,上面摆放了一个单行编辑控件叫lineeditName:\x0d\x0a//myform.h\x0d\x0a#include “ui_myform.h”\x0d\x0a\x0d\x0aclass MyForm: public\x0d\x0a\x0d\x0aQWidget {\x0d\x0a\x0d\x0aQ_OBJECT\x0d\x0apublic:\x0d\x0aMyForm(QWidget*parent)\x0d\x0a\x0d\x0a{\x0d\x0a\x0d\x0amyui.setupUi(this);\x0d\x0a}\x0d\x0aprivate:\x0d\x0a\x0d\x0aUi::BigWidget myui;\x0d\x0a\x0d\x0aprivate: \x0d\x0avoid my_function();\x0d\x0a\x0d\x0a};\x0d\x0a上面这段简单的类的声明是前文所述前三点要点的最佳例证,请对照要点的文字描述和具体的代码体会其中的含义。这里还有一点比较有意思的地方,就是ui文件提供的类被包含在了名为Ui的name space里,这样做的目的是将ui文件的命名空间与用户的代码分离,避免两者出现命名冲突的情况。相应的,写代码的时候也要注意在使用ui文件中的类时要用“Ui::”的方式进行引用。\x0d\x0a再来看cpp文件\x0d\x0a//myform.cpp\x0d\x0a#include\x0d\x0a#include “myform.h”\x0d\x0a\x0d\x0avoid my_function(void)\x0d\x0a\x0d\x0a{ QMessageBox::information(this, “Name”, myui.lineeditName->text());\x0d\x0a}\x0d\x0a这里随便写了一个函数,为了说明如何在窗体类里调用ui文件中定义的控件。这段代码非常简单,就不多作说明了。\x0d\x0a有了单继承的基础,学习多继承是小菜一碟。来段代码看一下就明白了。\x0d\x0a//myform.h #include “ui_myform.h”\x0d\x0aclass MyForm: public QWidget, public Ui::BigWidget\x0d\x0a{\x0d\x0aQ_OBJECT\x0d\x0apublic:\x0d\x0aMyForm(QWidget*parent)\x0d\x0a{\x0d\x0asetupUi(this);\x0d\x0a}\x0d\x0aprivate:\x0d\x0avoid my_function();\x0d\x0a};\x0d\x0a//myform.cpp\x0d\x0a#include\x0d\x0a#include “myform.h”\x0d\x0a\x0d\x0avoid my_function(void)\x0d\x0a{\x0d\x0a\x0d\x0aQMessageBox::information(this, “Name”, lineeditName->text());\x0d\x0a}\x0d\x0a是不是不用说明大家也能明白呢?多继承其实就是不仅从form需要的窗体类去派生,还要加上ui提供的类本身。这样带来的好处是你的窗体类继承了ui里的所有控件和方法,调用时就可以少写一些字。\x0d\x0a单继承和多继承这两种方法没有好坏之分,大家可以根据自己的编程习惯取舍。\x0d\x0a第四步,编译、验证在pro文件包含正确FORMS信息的情况下,运行qmake; make就可以编译工程了。 make时如果你认真看一下输出就会发现,make在最开始编译的时候就会自动调用uic去生成需要的代码。经过make之后ui_myform.h文件就生成了,建议大家去看一下这个文件的内容。


max快捷键设置(max快捷键命令大全)
以下两种是3dmax设置的快捷键用不了的解决方法,你可以试试:方法一:重新加载默认UI1、启动3dmax,在菜单栏上点击“自定义”→点击“加载自定义UI方案”。2、在打开的“加载自定义UI方案”的对话框中找到3dmax软件的安装文件夹,然后点击“ui”文件夹。3、打开“ui”文件夹之后找到“DefaultUI”,打开,然后3dmax就恢复...

t-ui无响应是什么意思
以TCL为例,t-ui无响应是说明,电视机的分辨率太高了或者是虚拟硬盘格式设置不正确。可通过断开电源,强制重启电视或者联系售后服务中心进行售后维修来解决。电视机是指根据人眼的视觉暂留特性和视觉心理,利用电子技术传送活动的图像画面和音频信号的设备,即电视接收机。也是重要的广播和视频通信工具。电视...

3D建模怎么做
1-2、3dmax2010界面组成和界面优化 3Dsmax2010界面优化:改变界面风格:自定义---加载自定义用户界面方案 UI文件的位置在 C:\\Program Files\\Autodesk\\3ds Max 2010\\ui 隐藏动画轨迹栏:自定义---显示--- 隐藏石墨建模工具栏:以小图标来显示工具栏:自定义---首选项---常规--- 自定义布局:在“...

qq操作快捷键有哪些(打开QQ的快捷键)
以下两种是3dmax设置的快捷键用不了的解决方法,你可以试试:方法一:重新加载默认UI1、启动3dmax,在菜单栏上点击“自定义”→点击“加载自定义UI方案”。2、在打开的“加载自定义UI方案”的对话框中找到3dmax软件的安装文件夹,然后点击“ui”文件夹。3、打开“ui”文件夹之后找到“DefaultUI”,打开,然后3dmax就恢复...

QT MainWindow和Dialog的区别和选择
Dynamic Dialog指的是程序在运行时根据.ui文件创建的dialog。这样的dialog不是通过uic将.ui转换为C++代码,而是在运行时使用QUiLoader类装载.ui文件。可以使用QObject::findChild<T> ()来访问form的child widget。要使用QUiLoader,需要在Qt程序的.pro文件中添加以下内容: CONFIG += uitools Dynamic ...

如何使用和调试 android UIAutomator
import com.android.uiautomator.core. UiSelector ;import com.android.uiautomator.testrunner.UiAutomatorTestCase;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;public class TAppWorkAssistV1 extends UiAutomatorTestCase { public String sLog ;public File fout ...

...T的输出特性如图所示,试分析如图所示电路中。当uI=0V、8V、10V三 ...
UI=0V时,管子截止,Uo=15V UI=8V时,设处于恒流区;Uo=uDS=VDD-iD*Rd iD=Idoss(uGS\/UGS(th)-1)=1MA*(8\/4-1)平方=1MA;Uo=15-1*5=10v;uGD=uGS-uDS=8-10=-2V<UGS(TH);管子处在恒流区,与假设一致;UI=10v时,设处于恒流区,iD=Idoss(uGS\/UGS(th)-1)=1MA*(10\/4-1)...

t-ui无响应怎么解决
以TCL为例,t-ui无响应的解决方法是:1、断开电源,强制重启电视尝试。2、断开电源重新设置网络。3、强制重启电视后,检查电视固件,强刷原厂固件或升级到最新的估计。4、售后维修,联系售后服务中心进行售后维修。TCL(全称:TCL集团股份有限公司)是一家全球化的智能产品制造及互联网应用服务企业集团,...

怎样在UIKit中使用cocos2d-x
(SRCROOT)\/cocos2dx and $(SDKROOT)\/usr\/include\/libxml2 (为了使用libxml 库)8. 在 “ Other C++ Flags ” 参数添加-DCC_UNDER_IOS 9.从HelloWorld示例工程中拷贝AppDelegate.cpp 和 AppDelegate.h并添加到我们现在这个工程中。import <UIKit\/UIKit.h> 是objective-c文件才能使用的,你不会从...

安卓系统使用教程
五,Android储存卡文件夹铃声不显示 Android手机设置铃声的方法有很多种,不过最常用的就是在SD卡上设置几个特定名称的文件夹,然后在文件夹中放置铃声文件,然后使用手机自带的铃声设置方法就能查看到SD卡中的铃声并选择了。不少的网友都说这样的方法并不能正常使用。在放置铃声后,却不能读取这些铃声文件。这是怎么回事...

神农架林区19328608593: Qt中怎么用Ui文件 -
策君威迩: 第一步,制作ui文件.首先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替).在制作自己的界面文件时要注意以下几个要点:1、要记住ui文件的名字,因为uic生成的代码会存在ui_myform....

神农架林区19328608593: Qt编程中,Ui文件如何被利用 -
策君威迩: 无非就是利用默认工具uic自动产生的类,去调用该类的setui函数.第一种是直接使用,第二种是定义一个新类,声明一个ui子对象,第三种是将ui作为基类派生新的类.希望回答能给你带来帮助~ 如果满意,请采纳,如还有疑问,可继续追问!您也可以向我们团队发出请求,会有更专业的人来为您解答!

神农架林区19328608593: 如何在pyqt中使用qt的ui来自 -
策君威迩: 步骤如下:在开始菜单所有应用中找到PyQt文件夹下的Designer,双击打开.新建窗体对话框选择逗Dialog without Buttons地,点击创建按钮.在左侧控件栏中拖入一个Label和一个Line Edit并将其选中后进行拖动复制位三个.再从左侧拖入...

神农架林区19328608593: qt 怎么根据ui文件动态创建QWIdget窗口部件?
策君威迩: 动态对话框是在程序运行时用 Qt Designer 的.ui 文件创建.不用 uic工具把.ui 文件变成 等价的 c++代码,而是在程序时使用类 QUiLoader 加载.ui文件,例如下面的代码: QUiLoader uiLoader; QFile file("sortdialog.ui"); QWidget *sortDialog = ...

神农架林区19328608593: qt做的界面UI文件怎么和已经写好的程序连接? -
策君威迩: 直接用creator建个Qtgui应用的工程,里面就包含了ui文件 直接用就行了. 你要是已经有了ui文件, 在你想用的地方 , 打开ui的头文件,一般是 ui_XXXXXXXX.h 然后就可以定义它了

神农架林区19328608593: 在QT中,ui - >的作用是什么?? -
策君威迩: .ui通常是用Qt 设计师设计出来的界面文件的后缀.ui 通常指向用这个ui文件里面的类创建的实例.就是说通常情况下ui是一个指向这个界面类的指针.而ui->一般就是用来访问这个界面类里面的控件. 例如你的ui文件里有一个叫btn的QPushButton.你就可以这样来访问这个按钮ui->btn.

神农架林区19328608593: 怎么在Qt Creator中创建对话框程序 -
策君威迩: .,选择基类为QDialog.勾选创建界面 注意这里要细心点,因为点击下一步后,然后选择右下角的【Choose打开【Qt Creator】后,点击【New Project】 选择项目下的【应用程序】,然后下一步 输入好类名,选择好路径,不能返回上一步,然后在右侧选择【Qt Widgets Application】.】 输入项目的名称.想改项目的类名或基类,只能重新新建了 点击完成,项目就建立成功了.按F5就可以看到空的对话框了 双击界面文件下的.ui文件

神农架林区19328608593: qt中ui - >的用法 -
策君威迩: int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } MainWindow w;这个是你显示的界面的窗口.你直接把数组设置过去显示就可以了啊.

神农架林区19328608593: QT设计师下做好的Ui怎么直接让qt creator使用,继续编程?求大师指点!! -
策君威迩: 在qt creator 项目里面 右键 添加文件-添加已经存在文件 把ui文件加进去..

神农架林区19328608593: qt ui - >的调用 -
策君威迩: 在类a的cpp中包含这个lable的ui文件.#include “UI_***”(这个文件可以在lable的cpp上复制).lable的.h文件要把ui的private改为public.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网