会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132903个问题
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于FastDFS+Nginx+Kinkeditor实现商品新增 13276楼

from tkinter import *
from tkinter.filedialog import *
from tkinter.colorchooser import *
win_width = 900
win_heigt = 450
class Application(Frame):
    def __init__(self, master=None, bgcolor="#000000"):
        super().__init__(master)    # super代表的是父类的定义,而不是父类的对象
        self.master = master
        self.bgcolor = bgcolor
        self.x = 0
        self.y = 0
        self.lastDraw = 0     # 表示最后绘制图形的位置id
        self.fgcolor = "#ff0000"
        self.startDrawFlag = False    # 来标记最初的位置
        self.pack()
        self.createWidget()

    def createWidget(self):
        """创建绘图区"""
        self.drawpad = Canvas(root, width=win_width, height=win_heigt*0.8,bg=self.bgcolor)
        self.drawpad.pack()
        # 创建按钮
        bin_start = Button(root,text="开始", name="start")  # name 类似id,更好的区别按钮,为了配合后面函数使用
        bin_start.pack(side="left", padx="10")  # padx间距10
        bin_pen = Button(root, text="画笔", name="pen")
        bin_pen.pack(side="left", padx="10")
        bin_rect = Button(root,text="矩形", name="rect")
        bin_rect.pack(side="left", padx="10")
        bin_clear = Button(root,text="清屏", name="clear")
        bin_clear.pack(side="left", padx="10")
        bin_erasor = Button(root,text="橡皮擦", name="erasor")
        bin_erasor.pack(side="left", padx="10")
        bin_line = Button(root,text="直线", name="line")
        bin_line.pack(side="left", padx="10")
        bin_lineArrow = Button(root,text="箭头直线", name="lineArrow")
        bin_lineArrow.pack(side="left", padx="10")
        bin_color = Button(root,text="颜色", name="color")
        bin_color.pack(side="left", padx="10")

        #事件处理
        bin_pen.bind_class("Button", "<1>", self.eventManager)
        self.drawpad.bind("<ButtonRelease-1>", self.stopDrow)  # <ButtonRelease-1>释放鼠标左键
        # 增加颜色切换的快捷键
        root.bind("KeyPress-r", self.kuaijiejian)
        root.bind("KeyPress-g", self.kuaijiejian)
        root.bind("KeyPress-y", self.kuaijiejian)
    def eventManager(self, event):
        name = event.widget.winfo_name()
        print(name)
        if name == "line":
            self.drawpad.bind("<B1-Motion>", self.myline)  # <B1-Motion> 鼠标左键拖动
        elif name == "lineArrow":
            self.drawpad.bind("<B1-Motion>", self.mylineArow)
        elif name == "rect":
            self.drawpad.bind("<B1-Motion>", self.myrect)
        elif name == "pen":
            self.drawpad.bind("<B1-Motion>", self.mypen)
        elif name == "erasor":
            self.drawpad.bind("<B1-Motion>", self.myerasor)
        elif name == "clear":
            self.drawpad.delete("all")
        elif name == "color":
            c = askcolor(color=self.fgcolor, title="选择画笔颜色")
            self.fgcolor = c[1]



    def stopDrow(self, event):
        self.startDrawFlag = False
        self.lastDraw = 0

    def startDrow(self, event):
        self.drawpad.delete(self.lastDraw)

        if not self.startDrawFlag:      # 判断是不是第一次绘画
            self.startDrawFlag = True
            self.x = event.x    # x的位置就是一开始位置的x
            self.y = event.y

    def myline(self, event):
        self.startDrow(event)
        self.lastDraw = self.drawpad.create_line(self.x, self.y, event.x, event.y, fill=self.fgcolor)

    def mylineArow(self, event):
        self.startDrow(event)
        self.lastDraw = self.drawpad.create_line(self.x, self.y, event.x, event.y, arrow=LAST, fill=self.fgcolor)


    def myrect(self, event):
        self.startDrow(event)
        self.lastDraw = self.drawpad.create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)

    def mypen(self, event):
        self.startDrow(event)
        self.drawpad.create_line(self.x, self.y, event.x, event.y, fill=self.fgcolor)
        self.x = event.x
        self.y = event.y

    def myerasor(self, event):
        self.startDrow(event)
        self.drawpad.create_rectangle(event.x-4, event.y-4, event.x+4, event.y+4, fill=self.bgcolor)
        self.x = event.x
        self.y = event.y

    def kuaijiejian(self, event):
        if event.char == "r":
            self.fgcolor = "#ff0000"
        elif event.char == "g":
            self.fgcolor = "#00ff00"
        elif event.char == "y":
            self.fgcolor = "#ffff00"

if __name__ == "__main__":
    root = Tk()
    root.geometry(str(win_width)+"x"+str(win_heigt)+"+300+300")
    root.title("画图软件")
    app = Application(master=root)
    root.mainloop()

老师 我这个快捷键变颜色没办法使用,按对应的键就会跳出来输入法

Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 13277楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解 13280楼

package com.itbaizhan;
import java.io.File;
import java.io.IOException;
public class TestFile1 {
    public static void main(String[] args) throws IOException {
        //获取当前项目路径
        System.out.println(System.getProperty("user.dir"));//user.dir 就是本项目的目录
        File f = new File("a.txt");//相对路径,默认放到user.dir下边
        f.createNewFile();//创建文件
        File f2 = new File("d:/b.txt");//绝对路径
        f2.createNewFile();
        System.out.println("---------------------");
        //使用File类访问文件或目录属性
        System.out.println("File是否存在:"+f2.exists());//true
        System.out.println("File是否是目录:"+f2.isDirectory());//false
        System.out.println("File是否是文件:"+f2.isFile());//true
        System.out.println("File最后修改时间:"+f2.lastModified());
        System.out.println("File的大小:"+f2.length());
        System.out.println("File的文件名:"+f2.getName());
        System.out.println("File的绝对目录路径:"+f2.getAbsolutePath());//绝对路径
        System.out.println("File的相对目录路径:"+f2.getPath());//相对路径
        System.out.println("-------------------------");
        File f3 = new File("d:/c.txt");
        f3.createNewFile();//在D盘下创建c.txt文件
        f3.delete();//将该文件或目录从硬盘上删除
        //使用mkdir创建目录
        File f4 = new File("d:/电影/华语/大陆");
        boolean flag1 = f4.mkdir();//目录结构中有一个不存在,则不会创建整个目录树
        System.out.println(flag1);
        //使用mkdirs创建目录
        File f5 = new File("d:/电影/华语/大陆");
        boolean flag2 = f5.mkdirs();
        System.out.println(flag2);
    }
}
问题1System.out.println(System.getProperty("user.dir"));
这一句后边的user.dir是表示什么意思?
这句话是固定不变的吗?
这个user.dir能不能改变?user.dir算不算一个路径?如果算的话,那我为何找不到这个路径?
问题2:关于路径的问题
相对路径:如果我们没有去创建文件,就只是new File传进来了路径,那么这个路径可真可假,有什么意义?
问题3: 自己代码的问题:下边这句话打印出来的内容不是很能理解
System.out.println("File的相对目录路径:"+f2.getPath());
打印出来的是File的相对目录路径:d:\b.txt,我觉得应该是D:\IDEAmyProject1\b.txt
问题4:什么是相对路径和绝对路径?


JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 13281楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术 13283楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库 13284楼
JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 13285楼

from tkinter import *
class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.createWidget()
    def createWidget(self):
         btnText = (("MC","M+","M-","MR"),
                    ("C","+","/","x"),
                    (7,8,9,"-"),
                    (4,5,6,"+"),
                    (1,2,3,"="),
                    0,".")
         Entry(self).grid(row=0,column=0,columnapan=4,pady=10)
         for rindex,r in enumerate(btnText):
            for cindex,c in enumerate(r):
                if c == "=":
                    Button(self,text=c,width=2)\
                    .grid(row=rindex+1,column=cindex,rowspan=2,sticky=EW)
                elif c == 0:
                    Button(self, text=c, width=2) \
                        .grid(row=rindex+1, column=cindex, columnspan=2, sticky=EW)
                elif c == ".":
                    Button(self, text=c, width=2) \
                        .grid(row=rindex+1, column=cindex+1, sticky=EW)
                else:
                    Button(self, text=c, width=2) \
                        .grid(row=rindex+1, column=cindex,sticky=EW)



if __name__=="__main__":
    root = Tk()
    root.geometry("4000x200+200+200")
    app = Application(master=root)
    root.mainloop()

老师这个代码我找不出问题到底出在哪里

Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 13286楼
WEB前端全系列/第十三阶段:微信小程序-安心食疗(旧)/安心食疗-项目基础配置 13288楼

<?php


    $nick = $_GET["nick"];


    // 连接数据库

    $con = mysqli_connect("localhost","root","","itbaizhan");

    if($con){

       

        mysqli_query($con,"set names utf8");       

        $sql = "select * from userinfo where nick='$nick'";


        $result = mysqli_query($con,$sql);

        $data = mysqli_fetch_all($result,MYSQLI_ASSOC);

        mysqli_close($con);


        if($data){

            echo json_encode(array("msg"=>"读取成功","result"=>$data));

        }else{

            echo json_encode(array("msg"=>"暂无数据"));

        }


    }else{

        echo "连接数据库失败";

    }


?>



<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <script src="../js/jquery-3.6.0.min.js"></script>

</head>


<body>


    <input type="text" id="search">

    <button id="btn">获取数据</button>

    <p id="content"></p>


    <script>


        $("#btn").click(function () {

            $.ajax({

                type: "get",

                url: "../server/index.php",  // 可以写 1.相对路径  2.绝对路径

                data: {

                    nick: $("#search").val()

                },

                success: function (data) {

                    data = JSON.parse(data)

                    $("#content").html(data.result[0].sign);

                },

                error: function (err) {

                    console.log(err);

                }

            })

        })


    </script>


</body>


</html>



image.png


老师,检查了好几遍代码都是一样的啊,还报这样的错,哪里的问题呐

WEB前端全系列/第五阶段:前后端交互/网络请求AJAX 13289楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 13290楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637