对话框

Qt基本对话框之文件对话框,颜色对话框,字体对话框 本文介绍Qt的标准对话框文件对话框,颜色对话框,字体对话框,分别定义了三个按钮点击可以弹出标准的对话框,再用网格布局对这些控件进行布局。 头文件: #ifndef STANDARDDIALOG_H #define STANDARDDIALOG_H #include #include #include #include #include cla 阅读详情

一.常用的对话框

对话框特殊
普通AlertDialog.Builder()
单选AlertDialog.Builder()setSingleChoiceItems()
多选AlertDialog.Builder()setMultiChoiceItems()
日期DatePickerDialognew DatePickerDialog(context,DatePickerDialog.OnDateSetListener,year,month,day);
时间TimePickerDialognew TimePickerDialog(context, TimePickerDialog.OnTimeSetListener,时,分,是否24进制);
水平ProgressDialogsetStyle(ProgressDialog.STYLE_HORIZONTAL)
圆圈ProgressDialogsetStyle(ProgressDialog.STYLE_SPINNER)
自定义AlertDialog.Builder()setView()

1.普通对话框

在这里插入图片描述

public void normal_dialog(){
        //TODO 1:构建者
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        //TODO 2:设置属性
        builder.setIcon(R.drawable.ic_launcher_background);//设置图标
        builder.setTitle("hello body");//设置标题
        builder.setMessage("我是美女陈林");//设置内容
        //设置确定按钮
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"你点击了ok",Toast.LENGTH_SHORT).show();
            }
        });
        //设置取消按钮
        builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"你点击了cancel",Toast.LENGTH_SHORT).show();
            }
        });
        //TODO 3:使用建造者创建对话框
        AlertDialog dialog = builder.create();
        //TODO 4:显示
        dialog.show();
        }

2.单选对话框

在这里插入图片描述


  //单选对话框
    private void single_dialog() {
        //TODO 1:构建者
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        //TODO 2:设置属性
        builder.setIcon(R.drawable.ic_launcher_background);//设置图标
        builder.setTitle("杨成果的成分是");//设置标题
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"你点击了ok",Toast.LENGTH_SHORT).show();
            }
        });
        builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this,"你点击了cancel",Toast.LENGTH_SHORT).show();
            }
        });
        final String[] items={"男人","女人","不想"};
        //TODO 设置单选列表
        //TODO  参数一 列表  参数二 默认选中下表  参数三 事件监听
        builder.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(MainActivity.this, "你选中烦恼的"+items[which], Toast.LENGTH_SHORT).show();
            }
        });
                //TODO 3:使用建造者创建对话框
        AlertDialog dialog = builder.create();
        //TODO 4:显示
        dialog.show();
        }

3.多选对话框

在这里插入图片描述


private void mulite_dialog() {
        final String[] items={"凤姐","小赵","如花","陈琳"};
        final boolean[] flags={true,true,true,false};
        //TODO 1:构建着
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        //TODO 2:画画
        builder.setIcon(R.drawable.ic_launcher_background);//设置图标
        builder.setTitle("杨成果的女朋友们");//设置标题
        builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                for(int i=0;i<flags.length;i++){
                    if(flags[i]){
                        Toast.makeText(MainActivity.this,"是"+items[i],Toast.LENGTH_SHORT).show();
                    }
                }
            }
        });
        builder.setNegativeButton("cancel",new DialogInterface.OnlickListener(){
	@Override
	public void onClick(DialogInterface dialog,int which){
		Toast.makeText(MainActivity.this,"是"+items[i],Toast.LENGTH_SHORT).show();

	}
});
//TODO 设置多列表
//TODO 参数一 列表  参数二  默认选中下表  参数三事件监听
builder.setMultiChoiceItems(items,flags,new DialogInterface.OnMultiChoiceClickListener(){
	@Override
	public void onClick(DialogInterface dialog,int which,boolean isChecked){
	flags[which] = isChecked;

}
});
//TODO 3:使用建造者创建对话框
AlerDialog dialog = builder.create();
//TODO 4:显示
dialog.show();

4.自定义对话框

在这里插入图片描述
1.自定义布局 customer_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">
    <TextView
        android:textSize="30sp"
        android:text="大美女"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <ImageView
      android:id="+@id/iv"
        android:src="@drawable/tp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

2.java代码:

 //TODO 0:获得视图
        View view=LayoutInflater.from(this).inflate(R.layout.customer_dialog,null);
        ImageView imageView=view.findViewById(R.id.iv);
        imageView.setOnclickListener(new OnclickListsner(){
        //点击图片就可以吐司或者关闭对话框了
        });
        //TODO 1:构建着
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
       
        //设置自定义布局
        builder.setView(view);
               //TODO 3:使用建造者创建对话框
        AlertDialog dialog = builder.create();
        //TODO 4:显示
        dialog.show();

5.水平进度条对话框

在这里插入图片描述

//水平进度条
    private void hor_progress_dialog() {
        //TODO 1:实例化对象
        final ProgressDialog dialog=new ProgressDialog(this);
        //TODO 2:设置属性
        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置水平央视
        dialog.setMax(100);
        dialog.setMessage("正在下载");
        //TODO 3:显示
        dialog.show();
        //TODO 4:模拟定时器
        final Timer timer=new Timer();
        timer.schedule(new TimerTask() {
            int progress=0;
            @Override
            public void run() {
                if(progress==100){
                    dialog.dismiss();//消失
                    timer.cancel();
                }
                dialog.setProgress(progress+=20);
            }
        },0,1000);//0秒后执行,每隔1000毫秒执行一次
    }

6.圆形进度条对话框

在这里插入图片描述

private void hor_progress_dialog() {
        //TODO 1:实例化对象
        final ProgressDialog dialog=new ProgressDialog(this);
        //TODO 2:设置属性
        dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置圆圈
        dialog.setMax(100);
        dialog.setMessage("正在下载");
        //TODO 3:显示
        dialog.show();
        //TODO 4:模拟定时器
        final Timer timer=new Timer();
        timer.schedule(new TimerTask() {
            int progress=0;
            @Override
            public void run() {
                if(progress==100){
                    dialog.dismiss();//消失
                    timer.cancel();
                }
                dialog.setProgress(progress+=20);
            }
        },0,1000);//0秒后执行,每隔1000毫秒执行一次
    }

7.日期选择对话框

在这里插入图片描述

     //日期选择对话框DatePickerDialog
    private void date_dialog() {
        /**
         *
         *
         * @param context 上下文
         * @param listener 监听器
         * @param year 默认的年
         * @param month 默认的月
         * @param dayOfMonth 默认的日
         */
        Calendar calendar=Calendar.getInstance();//日历对象
        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
            Toast.makeText(MainActivty.this,yera+"-"+(month+1)+"-"+dayofMonth,Toast.LENGTH_SHORT).show();
            }
        },calndar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
        }

8.时间选择对话框

在这里插入图片描述

//时间对话框:TimePickerDialog
   private void time_dialog() {
       /**
        * @param context 上下文
        * @param listener 监听器
        * @param hourOfDay 默认的时
        * @param minute 默认的分钟
        * @param is24HourView 是否采用24时禁止
        */
       Calendar calendar=Calendar.getInstance();//日历对象
       //TODO 1:实例化对象 TODO 2:show
       new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
           @Override
           public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
               Toast.makeText(MainActivity.this, hourOfDay+":"+minute, Toast.LENGTH_SHORT).show();
           }
       },calendar.get(Calendar.HOUR),calendar.get(Calendar.MINUTE),true).show();
   }

二.自定义对话框

1.思路:

1.自定义继承Dialog
2.重写Dialog的方法并添加需要的功能
3.在Activity中实例化自定义类的对象

2.代码

在这里插入图片描述

QT文件对话框,颜色对话框、字体对话框、输入对话框的使用 QT字体对话框,颜色对话框、字体对话框、输入对话框的使用程序文件对话框、字体对话框、颜色对话框输入对话框实际效果文件对话框字体对话框颜色对话框标准输入对话框字符串输入对话框INT输入对话框条目选择对话框 程序 文件对话框、字体对话框、颜色对话框 //.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include &lt... 阅读详情

相关推荐

模态对话框和非模态对话框

分类:模态对话框工作状态:当它获得焦点时,将垄断用户的输入,在完成本对话框之前,用户无法对本程序的其他部分进行操作。非模态对话框类似于WORD里的查找替换,就在应用程序打开非模态对话框的同时还可以切换到其他窗口进行操作。二者的类都派生于CDialog类,而CDialog类派生于CWnd类。区别:模态对话框使用CDialog::DoModal函数创建以及销毁。初始化消息WM_INITDIALOG,调用OnInitDialog初始化并显示,创建完毕后,DoModal启动消息循环。DoModal运行时候,程序会停

CSDN-MarkYang 2756

【Android之常见对话框的使用(One)】

一、普通对话框(Dialog): 一般只会显示提示信息,并通常具有“确定”和“取消”按钮。 常见的的方法如下: 方法名称 功能描述 setTitle() 设置对话框标题 setIcon() 设置对话框图标 setPositiveButton() 设置对话框添加yes按钮 setNegativeButton() 设置对话框添加 no 按钮 setMessage() 设置对话框提示信息 举个小例子:点击按钮来显示对话框 布局中的代码: .

楠小弟的博客 443

电子学习资料实验指导书电子线路课程设计题

电子学习资料实验指导书电子线路课程设计题

一文搞懂如何创建基于对话框的模态对话框和非模态对话框

Windows应用程序工作的基本流程是从用户那里得到数据,经过相应的处理之后,再把处理结果输出到屏幕、打印机或者其他的输出设备上。那么,应用程序是如何从用户那里得到数据,并且再将修改后的数据显示给用户的呢?这就需要用到 Windows应用程序中一个很重要的用户接口 ——对话框对话框基本认识常用控件介绍对话框的种类模态对话框非模态对话框对话框的新建和显示模态对话框的创建非模态对话框的创建 对话框...

MMagicLoren的博客 5228

Qt 常用文件对话框及消息对话框使用

文章目录 void Dialog::showFileDlg() { // . 表示当前目录 QString sPath = QFileDialog::getOpenFileName(this,"文件对话框",".","c++ files(*.cpp);;"); m_fileLineEdit->setText(sPath); } void Dialog::showColorDlg() { QColor color = QColorDialog::getColor(Qt

weixin_45715405的博客 7389

WinForm对话框详解:信息框、文件对话框、功能对话框

对话框是开发中经常用到的控件,甚至在上古的MFC编程中,默认就是把一个对话框编辑成窗口。`winForm`提供了多种不同的对话框,包括信息框、文件对话框、功能对话框等,下面逐个演示这些消息框。

微小冷的学习笔记 8844

Android对话框(普通对话框、单选对话框、多选对话框、进度条对话框

一、普通对话框// 通过builder 构建器来构造 AlertDialog.Builder builder = new Builder(this); builder.setTitle("警告"); builder.setMessage("你好么 "); builder.setPositiveButton("好", new OnClickListener() { @Overr...

aiyoubucuo的博客 9844

【windows编程之对话框对话框原理,对话框的创建

在本章节中我们来讲解Windows/Win32编程中对话框的原理和对话框的创建,我们在前几篇章节中讲解到了普通窗口中回调函数的处理,在普通窗口的窗口消息处理函数(回调函数)中,系统会首先调用我们自己写的回调函数,我们自己编写的回调函数没有处理的消息,才会交给系统的缺省函数处理,但是对话框中消息处理机制不同,系统会首先调用系统中的回调函数,在缺省函数中没有处理的消息,才会寻找我们自己写的回调函数去处理。简单来说,在普通窗口中是我们自己写的回调函数调用系统缺省回调函数,而在对话框中,是系统的缺省函数调用我们字节

WdIg-2023的博客 3167

Qt中对话框:模态和非模态对话框、消息对话框、颜色对话框、文件对话框和字体对话框语法及用法(详细图文教程_附C++代码 )

Qt中对话框:模态和非模态对话框、消息对话框、颜色对话框、文件对话框和字体对话框语法及用法

qq_40280673的博客 1177

Java Swing中几种常见对话框(文件对话框、消息对话框、输入对话框、确认对话框、颜色对话框)

1、Dialog类主要方法        JDialog类和JFrame都是Windows的子类,二者的实例都是底层容器,但二者有相似之处也有不同的地方,主要区别是JDialog类创建的对话框必须要依靠于某个窗口。        创建对话框与创建窗口类似,通过建立JDialog的子类来建立一个对话框类,然后这个类的一个实例就是一个对话框对话框是一个容器,它的默认布局是BorderLayout

YGingko的专栏 4945

参数估计Picard迭代在非线性常微分方程参数估计中的应用研究(Matlab代码实现)

内容概要:本文系统研究了Picard迭代法在非线性常微分方程参数估计中的应用,深入阐述了该方法的数学原理及其在参数辨识中的收敛性与稳定性优势。通过构建最小化误差的目标函数,并结合数值积分技术,采用迭代方式逐步逼近系统的真实参数值,有效解决了非线性动态系统中因缺乏解析解而难以进行精确建模的问题。文中提供了完整的Matlab代码实现,涵盖模型定义、迭代求解、参数更新与结果可视化等关键环节,增强了方法的可操作性与工程实用性。研究通过典型非线性系统案例验证了算法的有效性,展示了其在科学计算与工程建模中的良好适应性与推广潜力。; 适合人群:具备常微分方程理论、数值分析基础及Matlab编程能力,从事系统建模、参数辨识、动力学仿真等相关方向的研究生、科研人员和工程技术开发者。; 使用场景及目标:①解决实际工程中非线性微分方程模型的未知参数估计问题;②深入理解Picard迭代法在科学计算中的实现机制与数值特性;③为学术论文复现、科研项目开发或课程设计提供可运行、易调试的技术方案与代码参考。; 阅读建议:建议读者结合文中的数学推导与Matlab代码逐行分析,重点关注迭代流程、目标函数构造与数值积分的耦合实现,通过修改模型结构或噪声条件进行扩展实验,以深化对算法鲁棒性与适用边界的理解。配套资源可通过指定公众号和网盘链接获取,推荐同步学习以加速科研进程。

XYF.SHX

XYF.SHX

焊接变位机_1.rar

焊接变位机_1.rar

基于多尺度集成极限学习机回归(Matlab代码实现)

内容概要:本文详细介绍了一种基于多尺度集成极限学习机(Extreme Learning Machine, ELM)的回归方法,并提供了完整的Matlab代码实现。该方法通过构建多尺度特征表示与集成学习机制,有效提升了ELM在处理非线性、高维复杂数据时的预测精度与模型鲁棒性,特别适用于时间序列回归任务。文档不仅阐述了算法的核心原理与技术流程,还系统展示了其在风电功率预测等工程场景中的应用潜力。同时,文中附带了丰富的科研仿真案例集合,涵盖智能优化算法、深度学习、信号处理、电力系统调度等多个前沿方向,体现了多学科交叉融合的技术优势与实践价值。; 适合人群:具备一定Matlab编程能力,从事科学研究或工程应用的研究生、科研人员及工程技术开发者,尤其适合专注于机器学习、智能算法优化、新能源预测与电力系统建模等相关领域的专业人员。; 使用场景及目标:①用于风电、光伏、负荷等时间序列数据的高精度回归预测任务;②为科研工作者提供可复现的多尺度集成ELM模型代码框架,支持快速算法验证与二次开发;③满足实际工程项目中对高效建模、实时预测与智能决策的技术需求。; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,深入理解多尺度特征构造与集成策略的设计思想,同时可参考文档中其他相关算法案例进行横向比较与综合应用,以提升整体科研创新能力。

精密钟表配件叉片插针组装机 -原创设计.rar

精密钟表配件叉片插针组装机 -原创设计.rar

精密制造基于桥式三坐标的深孔同轴度测量:半导体流体控制阀PTFE阀体形位公差定量检测方案

内容概要:本文针对高精密制造中深孔内部特征难以精确定量测量的技术瓶颈,提出了一套基于中图仪器Mars Classic 10128桥式三坐标测量机的解决方案,重点解决长径比大于5:1的PTFE四氟阀体深孔同轴度与圆柱度测量难题。通过采用自主研发的深孔加长测针组件与CP500S扫描测头,克服了传统接触式测针刚性不足和光学设备视场遮挡的问题,实现了对深孔内部形貌的连续扫描与三维拓扑建模,输出精度可达≤0.025mm,建立了可追溯、可量化的测量标准流程。; 适合人群:从事半导体流体控制阀、高精密PTFE阀体等零部件设计、制造与质量检测的工程技术人员及测试管理人员,具备一定几何公差与三坐标测量基础知识的专业人员; 使用场景及目标:①解决“影像仪测不到深孔内部”或“深孔长径比大于5怎么测”的实际工程问题;②实现对深孔同轴度、圆柱度等形位公差的定量评价,替代传统通止规定性判断;③为工艺优化、刀具补偿和质量追溯提供精准数据支持; 阅读建议:此资源作为技术应用指南,兼具设备选型参考与测量方法指导价值,建议结合实际检测案例对照操作,并联系中图仪器技术中心获取实测验证支持。

上一篇: selector选择器的使用
下一篇: Menu菜单
TimPika
博客等级 码龄7年 5粉丝 25原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值