QT⼦窗⼝样式⾃选置顶最⼩最⼤关闭边框等mainwindow.h
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"
#include "ui_dialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->tupUi(this);
// 窗⼝⼀直保持在顶层,但是不阻塞⽤户操作其他窗⼝ 1. (this)=指定⼀个⽗窗⼝,2 ⾮模态。
Dialog *mycom= new Dialog(this); //dialog ⾃⼰键的窗⼝类 (this)=指定⼀个⽗窗⼝
//mycom->show(); //⾮模态
//Qt::WindowFlags flags = Qt::Dialog; //⾃定义flags 作为窗⼝样式
// mycom->tWindowFlags(flags);
//mycom->tWindowFlags(flags | Qt::WindowTitleHint); //只有关闭按钮但不能点击
//mycom->tWind怎么修改微信支付密码
owFlags(Qt::WindowTitleHint); //只有关闭按钮但不能点击
//mycom->tWindowFlags(Qt::Dialog | Qt::WindowStaysO老子姓什么
nTopHint); //Dialog样式只有关闭且⼦窗⼝在本程序置顶
//mycom->tWindowFlags(Qt::SubWindow | Qt::WindowStaysOnTopHint); //没有任务栏且置顶
//mycom->tWindowFlags(Qt::WindowCloButtonHint | Qt::SubWindow | Qt::WindowStaysOnTopHint ); //没有任务栏且置顶 //mycom->tWindowFlags(Qt::WindowS含有不的四字词语
ystemMenuHint |Qt::WindowTitleHint | Qt::WindowCloButtonHint ); //
//mycom->tWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint );&n形容口才好的词语
bsp; //
//mycom->tWindowFlags(Qt::SubWindow | Qt::WindowStaysOnTopHint);
//mycom->tWindowFlags(Qt::Drawer ); //没有任务栏且置顶
mycom最难脑筋急转弯
->tWindowTitle("标题名称");
mycom->resize(200,200); //初始窗⼝⼤⼩
mycom->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = nullptr);
~Dialog();
private:
Ui::Dialog *ui;
};
#endif // DIALOG_H
mainwindow.h
dialog.cpp
这两个不⽤修改
其他样式
Qt::FrameWindowHint:没有边框的窗⼝
Qt::WindowStaysOnTopHint://总在最上⾯的窗⼝
Qt::CustomizeWindowHint://⾃定义窗⼝标题栏,以下标志必须与这个标志⼀起使⽤才有效,否则窗⼝将有默认的标题栏
Qt::WindowTitleHint:显⽰窗⼝标题栏
Qt::WindowSystemMenuHint://显⽰系统菜单
Qt::WindowMinimizeButtonHint://显⽰最⼩化按钮
Qt::WindowMaximizeButtonHint://显⽰最⼤化按钮
Qt::WindowMinMaxButtonsHint://显⽰最⼩化按钮和最⼤化按钮
Qt::WindowCloButtonHint失恋了听什么歌
://显⽰关闭按钮
Qt::Drawer://去掉窗⼝左上⾓的图标,右上⾓的最⼤化最⼩化按钮(好像关闭按钮会变个样。。。)
更多窗⼝样试:
Qt::WindowContextHelpButtonHint 像对话框⼀样,有个问号和关闭按钮
Qt::CustomizeWindowHint 标题栏也没有 按钮也没有 在那⾥出现就站在那⾥不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗⼝名也没有,做流氓软件很好,但是可惜可以从任务管理器⾥关闭 灰⾊
Qt::WindowTitleHint 也是窗⼝只有⼀个关闭按钮
Qt::WindowSystemMenuHint 他妈还是⼀样只有⼀个关闭按钮
Qt::WindowCloButtonHint 他妈还是⼀样只有⼀个关闭按钮
Qt::WindowMaximizeButtonHint ⼀看就知道最⼩化按钮怎么了。。。原来不可⽤。。。。
Qt::WindowMinimizeButtonHint 还原按钮不可⽤。。
Qt::SubWindow 窗⼝没有按钮但是有标题栏 任务⾥什么也看不到
Qt::Desktop 没有显⽰在桌⾯也没在任务。但是任务管⾥器⾥还是有的。。。
Qt::SplashScreen 标题栏也没有 按钮也没有协同的近义词
在那⾥出现就站在那⾥不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗⼝名也没有, 但是可惜可以从任务管理器⾥关闭 ⽩⾊
Qt::ToolTip 标题栏也没有 按钮也没有 在那⾥出现就站在那⾥不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗⼝名也没有,但是可惜可以从任务管理器⾥关闭 ⽩⾊ 有个怎么洗头
好外,顶层窗⼝ ⼀直都是在最上⾯…
有时候有特殊需求,不希望在任务栏上出现应⽤程序的图标。该怎么办呢?
其实可以通过设置窗⼝标志来实现。
调⽤QWidget的tWindowFlags()函数。 设置为Qt::Tool、Qt::SubWindow、
Qt::Popup可以达到⽬的。
但是这样做会有副作⽤:
设置Qt::Popup不能设置保持窗⼝在顶层和底层。
设置Qt::SubWindow的窗⼝没有标题栏,没有关闭按钮,也不能进⾏拉伸。这些功能需要⾃⼰实现。
设置Qt::Tool窗⼝可以拉伸也有关闭按钮,但是点击关闭按钮,程序并不退出。