建材秒知道
登录
建材号 > 设计 > 正文

如何用 Qt 做出酷炫的界面

壮观的大叔
美好的爆米花
2022-12-28 10:44:15

如何用 Qt 做出酷炫的界面

最佳答案
繁荣的衬衫
大意的可乐
2026-05-15 13:32:22

首先你需要一个美工,帮你设计好看的UI样式,或者自己设计也可以,

然后参照设计好的UI样式,完成代码的编写,在设置代码样式前你需要知道这些控件的设置方法,比如一个QPushButton的背景色:红色,前景设置白色,边框黑色

QPushButton#evilButton {

    background-color: red

    border-style: outset

    border-width: 2px

    border-color: black

    color: white 

}

其他控件配置请参考Qt提供的帮助文档:

http://doc.qt.io/qt-4.8/stylesheet-examples.html

最新回答
感性的鲜花
欣喜的缘分
2026-05-15 13:32:22

首先你需要一个美工,帮你设计好看的UI样式,或者自己设计也可以,

然后参照设计好的UI样式,完成代码的编写,在设置代码样式前你需要知道这些控件的设置方法,比如一个QPushButton的背景色:红色,前景设置白色,边框黑色

QPushButton#evilButton {

background-color: red

border-style: outset

border-width: 2px

border-color: black

color: white

英俊的小虾米
重要的咖啡豆
2026-05-15 13:32:22

安装Qt, VS和 Qt5 Visual Studio Add-in.

配置好环境变量, 如qmake_path和QTDIR.

打开VS查看是否有"QT"工具栏.

点击 文件 ->新建 ->项目, 在左边模板中选择Qt Project, 然后在右边选择Qt Application

输入名称和解决方案名称, 位置不能有中文路径, 确定

在左边选择 "解决方案资源管理器", 打开FormFile, 双击对应UI文件进行编辑

纯情的黑猫
怕黑的电话
2026-05-15 13:32:22
给你方向不具体告诉你,给分不?不知道了,好吧,还是稍微介绍一点,然后大胆鼓励你自己领悟!

解救方法是这个类:QSingalMapper,看名字能想到什么?没错,这个类将同一个信号封装后,改造成不同的信号,然后再发射。

asssiant里面有个例子:

ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent)

: QWidget(parent)

{

signalMapper = new QSignalMapper(this)

QGridLayout *gridLayout = new QGridLayout

for (int i = 0i <texts.size()++i) {

QPushButton *button = new QPushButton(texts[i])

connect(button, SIGNAL(clicked()), signalMapper, SLOT(map()))

signalMapper->setMapping(button, texts[i])

gridLayout->addWidget(button, i / 3, i % 3)

}

connect(signalMapper, SIGNAL(mapped(const QString &)),

this, SIGNAL(clicked(const QString &)))

setLayout(gridLayout)

}

看见这个函数了么?每个button都发送clicked信号,但是使用这个类以后就把相同的信号给封装成不同信号发射了。注意那个connect函数里面的mapped信号的QString参数,不同的button的clicked信号是相同的,但是text是不同的,这样相同的信号就能区分出不同的需求了。

画龙点睛到此,不必细细去说,相信你该知道怎么办了。不知道还可以问我。