调节和测试新闻:使用对话框弹出

用对话框彰显调节和测量试验音信,是个土方法了,和J2SE里面包车型地铁System.out.println是叁个道理,苯苯的,然而itworks.下边包车型地铁公用方法,能够推迟弹出对话框,而不影响程序的穿梭运维。publicstaticvoidalert(finalStringmsg卡塔尔国{UiApplication.getUiApplication(卡塔尔(قطر‎.invokeLater(newRunnable(卡塔尔{publicvoidrun(卡塔尔国{Dialog.alert(msg卡塔尔;}}卡塔尔国;}分享自berryreload的博客:

博客转发自:

花了贰个钟头对Dialog对话框使用小结一下,相比底工,希望对您读书有帮忙,大咖请直接关门网页。假令你是新手,建议您亲自敲一次代码。

对话框是 GUI 程序中须求的组成部分。超级多无法也许不符合放入主窗口的意义组件都必得放在对话框中安装。对话框平常会是四个顶层窗口,出今后前后相继最上层,用于落到实处短时间职责依旧轻易的客商人机联作。即使Ribbon 界面包车型客车出今后一定水准上压缩了对话框的利用可能率,然则,我们照样得以在最新版本的 Office 中发觉好多对话框。因而,在可预感的前程,对话框会一贯留存于大家的次第之中。

先看一下功力:

Qt 中使用QDialog类实现对话框。好似主窗口一样,大家不以为奇会统筹多个类世袭QDialogQDialog(及其子类,以至具有Qt::Dialog花色的类)的对于其 parent 指针都有卓绝的表达:假使 parent 为 NULL,则该对话框会作为一个顶层窗口,不然而作为其父组件的子对话框(当时,其默许现身的地点是 parent 的主题)。顶层窗口与非顶层窗口的分别在于,顶层窗口在义务栏会有谈得来的职务,而非顶层窗口则会分享其父组件的职位。

图片 1Dialog对话框使用小结

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle(tr("Main Window"));

    openAction = new QAction(QIcon(":oc-open"), tr("&Open..."), this);
    openAction->setShortcuts(QKeySequence::Open);
    openAction->setStatusTip(tr("Open an existing file"));
    connect(openAction, &QAction::triggered, this, &MainWindow::open);

    QMenu *file = menuBar()->addMenu(tr("&File"));
    file->addAction(openAction);

    QToolBar *toolBar = addToolBar(tr("&File"));
    toolBar->addAction(openAction);
}

MainWindow::~MainWindow()
{
}

void MainWindow::open()
{
    QDialog dialog;
    dialog.setWindowTitle(tr("Hello, dialog!"));
    dialog.exec();
}

1. 管见所及对话框

AlertDialog.Builder builder = new AlertDialog.Builder;builder.setTitle;//标题builder.setMessage("天气冷,注意保暖");builder.setIcon(R.mipmap.ic_launcher);builder.create();builder.show();

图片 2平日对话框

地方大家运用了前边的现身说法代码。注意看的是open()函数里面包车型客车情节。大家应用QDialog开创了一个对话框,设置其标题为“Hello, dialog!”,然后调用exec()将其出示出来。注意看的是职责栏的Logo,由于我们从不安装对话框的 parent 指针,我们会见到在职分栏现身了对话框的职位:

2. 规定撤消对话框

builder.setTitle("确定取消对话框");builder.setMessage("请选择确定或取消");builder.setIcon(R.mipmap.ic_launcher);builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { //正能量按钮 Positive @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "你点击了确定", Toast.LENGTH_SHORT).show;builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "你选择了取消", Toast.LENGTH_SHORT).show;builder.create; 

图片 3规定撤消对话框

子窗口和父窗口出现在同样地方

3. 多按键对话框

builder.setTitle("多个按钮对话框");builder.setMessage;builder.setIcon(R.mipmap.ic_launcher);builder.setPositiveButton("我没玩够", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "继续浏览精彩内容", Toast.LENGTH_SHORT).show;builder.setNeutralButton("开启", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "起床了", Toast.LENGTH_SHORT).show;builder.setNegativeButton("我累了,要休息一下", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "欢迎再来", Toast.LENGTH_SHORT).show;builder.create;

图片 4多按键对话框

我们修正一下open()函数的内容:

4. 列表对话框

final String arrItem[] = getResources().getStringArray(R.array.aikaifa);builder.setItems(arrItem, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "你选择了第" + arrItem[which], Toast.LENGTH_SHORT).show;builder.create;

图片 5列表对话框

void MainWindow::open()
{
    QDialog dialog(this);
    dialog.setWindowTitle(tr("Hello, dialog!"));
    dialog.exec();
}

5. 带Adapter的对话框

builder.setTitle("带Adapter的对话框");builder.setIcon(R.mipmap.ic_launcher);final List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();int arrImg[] = {R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher};for (int i = 0; i < arrImg.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("img", arrImg[i]); map.put("title", "爱开发" + i); list.add;}SimpleAdapter adapter = new SimpleAdapter(activity, list, R.layout.list_item, new String[]{"img", "title"}, new int[]{R.id.iv, R.id.tv});builder.setAdapter(adapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(activity, "你选择了" + list.get.get.toString, Toast.LENGTH_SHORT).show;builder.create;

图片 6带艾达pter的对话框