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->tWindowFlags(Qt::WindowTitleHint); //只有关闭按钮但不能点击
//mycom->tWindowFlags(Qt::Dialog | Qt::WindowStaysOnTopHint); //Dialog样式只有关闭且⼦窗⼝在本程序置顶
//mycom->tWindowFlags(Qt::SubWindow | Qt::WindowStaysOnTopHint); /走路时心率多少正常
/没有任务栏且置顶
//mycom->tWindowFlags(Qt::WindowCloButtonHint | Qt::SubWindow | Qt::WindowStaysOnTopHint ); //没有任务栏且置顶 //mycom->tWindowFlags(Qt::WindowSystemMenuHint |Qt::WindowTitleHint | Qt::WindowCloButtonHint ); //
//mycom->tWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint ); //
//mycom->tWindowFlags(Qt::SubWindow | Qt::WindowStaysOnTopHint);
//mycom->tWindowFlags(Qt::Drawer ); //没有任务栏且置顶
mycom->tWindowTitle("标题名称");
mycom->resize(200,200); //初始窗⼝⼤⼩
mycom->show();
}
MainWindow::~MainWindow()
{
delete ui;
}
dialog.h
#ifndeither的用法
ef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
cl婉约派词人
ass 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::WindowSystemMenuHin巧克力曲奇饼干
t://显⽰留一点微笑给自己
系统菜单
Qt::WindowMinimizeButtonHint://显⽰最⼩化按钮
Qt::W狗冲什么生肖
indowMaximizeButtonHint://显⽰最⼤化按钮
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窗⼝可以拉伸也有关闭按钮,但是点击关闭按钮,程序并不互动营销案例
退出。