//widget.cpp
#include "widget.h"
#include <QPushButton>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//第一个按钮
QPushButton * btn = new QPushButton;
btn->setParent(this);
btn->setText("第一个按钮");
//第二个按钮
QPushButton * btn2 = new QPushButton("第二个按钮", this);
btn2->move(100, 100);
//设置窗口大小
resize(600, 400);
//设置固定窗口大小
setFixedSize(600, 400);
//设置窗口标题
setWindowTitle("第一个窗口");
}
Widget::~Widget()
{
}
Qt连接数据库
//在.pro中添加 QT += sql
//在.txt中添加以下两行,并将 mytarget 改为自己的工程名
find_package(Qt6 COMPONENTS Sql REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
//main.cpp
#include "mainwindow.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
#include <QString>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//配置数据库
QSqlDatabase qdb = QSqlDatabase::addDatabase("QPSQL"); //连接PostgreSQL
qdb.setHostName("localhost"); //服务器名
qdb.setDatabaseName("postgres"); //数据库名
qdb.setUserName("postgres"); //用户名
qdb.setPassword("123456"); //密码
//数据库连接测试
bool isbool = qdb.open();
if(isbool)
{
qDebug() << "数据库打开成功!";
}else{
qDebug() << "数据库打开失败!";
}
//数据库查询操作
QSqlQuery query("select * from workflow_config");
while(query.next())
{
int id = query.value(0).toInt();
QString e_name = query.value(1).toString();
QString c_name = query.value(2).toString();
qDebug() << QString("%1 %2 %3").arg(id).arg(e_name).arg(c_name);
}
//关闭数据库连接
qdb.close();
return a.exec();
}
QPushButton按钮设置为透明
ui->btnExit->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
QPushButton按钮设置为灰色
ui->btnExit->setStyleSheet("background-color: #CCCCCC;");
QSS文章:
QSS总结以及最近做的Qt项目 - 薰衣草的旋律 - 博客园 (cnblogs.com)
(44条消息) 学习Qss--字体、文本属性_qss 字体_贝勒里恩的博客-CSDN博客
(44条消息) qss样式表之QLable_qlabel qss样式_王廷云的博客的博客-CSDN博客
(47条消息) Qt creator工程文件下添加文件夹_y_q_m的博客-CSDN博客
(47条消息) QT添加qss文件和资源文件_qt qss文件_风间琉璃•的博客-CSDN博客
不同栈面的相同名称的按钮,例如都为RevoerArm,它俩不会相互影响。
QPushButton中的autoExclusive打勾,则会自动取消选中。